Linux基础操作及概念
一、 shell
-
通常我们在使用Lnux时,并不是直接与系统打交道,而是通过一个叫做Shel的中间程序来完 安装分屏终端: sudo apt-get
instll terminator 成的,在图形界面下为了实现让我们在个窗口中完成用户输入和显示输出, Linux 系统还提供 快捷键:
ctrl+alt+t打开终端 了一个叫做终端模拟器的程序(Termina) 。 打开终端:ctrl + alt + t
推荐分屏终端:sudo apt-get install tmux1,通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell
(壳)。有壳就有核,这里的核就是指UNIX/Linux内核, Shell 是指"提供给使用者使用 界面"的软件(命令解析器)
.类似于DOS下的command (命令行)和后来的cmd.exe。普
通意义上的Shell就是可以接受用户输入命令的程序。它之所以被称作Shell 是因为它隐藏了操作
系统底层的细节。同样的UNIX/Linux下的图形用户界面GNOME和KDE,有时也被叫做”虚 拟shell"或“图形shell"。2 UNIX/Linux 操作系统下的Shell既是用户交互的界面,也是控制系统的脚本语言。当然这一
点也有别于Windows下的命令行,虽然该命令行也提供了很简单的控制语句。在Windows操
作系统下,有些用户从来都不会直接使用Shell, 然而在UNIX系列操作系统下,Shell 仍然是控 制系统启动、X11
启动和很多其它实用工具的脚本解释程序。3,在UNIX/Linux中比较流行的常见的Shell有bash、sh, zsh、 ksh、 csh 等等,Ubuntu 终
端默认使用的是bash,默认的桌面环境是GNOME或者Unity (基于GNOME)
二、Linux下的常用快捷键
- Ctrl+c : 强行终止当前程序
- Ctrl+d : 退出终端
- Ctrl+s : 暂停当前程序,然后按下任意键恢复运行
Ctrl+z : 将当前程序放在后台运行,回复到前台命令为fg
Ctrl+a : 将光标移动到输入行头,相当于Home键
Ctrl+e : 将光标移动到输入行尾,相当于End键
Ctrl+k: 删除从光标所在位置到行末 Shift+PgUp:
将终端向上滚动 Shift+PgDn: 将终端向下滚动
“ ⬆ ”: 键盘方向上键,恢复上一条输入的命令,可向前迭代
三、man手册的使用
在Linux环境中,如果你遇到困难,可以使用man命令 ,它是Manual pages的缩写。Manual
pages是UNIX或类UNIX操作系统中在线软件文档的一种普遍的形式,内容包括计算机程序
(包括库和系统调用)、正式的标准和惯例, 甚至是抽象的概念。用户可以通过执行man命令调
用手册页。
你可以使用如下方式来获得某个命令的说明和使用方式的详细介绍:
格式: man <command_ name>
例子: man man
通常情况下,man手册里面的内容都是英文的,这就要求你有一定的英文基础。 man 手册的内容很多,涉及了Linux使用过程中的方方面面。为了便于查找, man 手册被进行了分册(分区段)处理,手册通常被分为8个区段.安排如下:
在这里插入图片描述
四、用户
-
Linux 用户管理:Linux
是一个可以实现多用户登录的操作系统,比如“老王”和“老张”都可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于
Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件 查看用户:who am i (连写不要空格) -
创建用户: 在 Linux 系统里, root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户 root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和UNIX系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,用 Windows 的方法理解也就是将自己的非法帐户添加到 Administrators 用户组
我们一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo
这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。老王用户也属于 sudo
用户组(稍后会介绍如何查看和添加用户组)。
su,su- 与 sudo: 需要注意 Linux 环境下输入密码是不会显示的。 su 可以切换到用户
user,执行时需要输入目标用户的密码, su - 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量 sudo
可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。
创建用户: sudo adduser laowang 这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录
修改密码: sudo passwd laowang 切换用户: su -l laowang 退出当前用户: exit或者Ctrl + d
**3.**在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,就跟家的形式差不多,你的兄弟姐妹(不同的用户)属于同一个家(用户组),你们可以共同拥有这个家(共享资源),爸妈对待你们都一样(共享权限),你偶尔写写日记,其他人未经允许不能查看(私有资源和权限)。当然一个用户是可以属于多个用户组的,正如你既属于家庭,又属于学校或公司。
查看用户组:
方式一:使用 groups 命令 groups laowang
这里 cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。 | sort 表示将读取的文本进行一个字典排序再输出,然后你将看到如下一堆输出,你可以在最下面看到 laowang 的用户组信息:
精确定位:cat /etc/group | grep -E “laowang”
方式二:查看 /etc/group 文件 cat /etc/group | sort
/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
你看到上面的 password 字段为一个 x 并不是说密码就是它,只是表示密码不可见而已。这里需要注意,如果用户的 GID 等于用户组的 GID,那么最后一个字段 user_list 就是空的,比如liumu 用户,在 /etc/group 中的 liumu用户组后面是不会显示的。laowang用户,在 /etc/grou中的 laowang 用户组后面是不会显示的。