多用户登录的操作系统
1、常用快捷键
按键 | 作用 |
---|---|
Ctrl+d | 键盘输入结束或退出终端 |
Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z | 将当前程序放到后台运行,恢复到前台为命令fg |
Ctrl+a | 将光标移至输入行头,相当于Home 键 |
Ctrl+e | 将光标移至输入行末,相当于End 键 |
Ctrl+k | 删除从光标所在位置到行末 |
Alt+Backspace | 向前删除一个单词 |
Shift+PgUp | 将终端显示向上滚动 |
Shift+PgDn | 将终端显示向下滚动 |
tab为补齐;
2、创建文件、查询
(1)创建:
(2)查询.txt文件
ls *.txt
(3)一次创建多个文件
touch love_{1..10}_linux.txt
查询:ls *.txt
shell常用的通配符如下:
字符 | 含义 |
---|---|
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[!list] | 匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,...} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1..c2} | 匹配 c1-c2 中全部字符 如{1..10} |
调用手册:man
man手册分册:
区段 | 说明 |
---|---|
1 | 一般命令 |
2 | 系统调用 |
3 | 库函数,涵盖了C标准函数库 |
4 | 特殊文件(通常是/dev中的设备)和驱动程序 |
5 | 文件格式和约定 |
6 | 游戏和屏保 |
7 | 杂项 |
8 | 系统管理命令和守护进程 |
查询某段,直接如下:
man 1 ls 对应位一般用户命令
另一种获取帮助的方式: ls --help
3、安装程序(banner):
安装指令:
$ sudo apt-get update
$ sudo apt-get install sysvbanner
操作指令: $banner shiyanou
目的:安装banner,形成如下效果;
还可以使用默认的printerbanner更换为:
其中-w代表打印宽度;
同理,安装toilet,figlet
4、用户及文件权限管理
(1)查看当前伪终端用户名:
who am i 或者 who mom likes
此处who命令:
参数 | 说明 |
---|---|
-a | 打印能打印的全部 |
-d | 打印死掉的进程 |
-m | 同am i ,mom likes |
-q | 打印当前登录用户数及用户名 |
-u | 打印当前登录用户登录信息 |
-r | 打印运行等级 |
(2)创建用户
su 、su-、sudo
理解:
su<user>:切换用户
sudo<cmd>:以特权级别运行cmd
su - <user>:切换用户
:
这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录:
$ ls /home
现在你已经创建好一个用户,并且你可以使用你创建的用户登录了,使用如下命令切换登录用户:
$ su -l lilei
输入刚刚设置的 lilei 的密码:
(3)用户组:
如何知道在哪个组?
方法1 > 使用groups分组
groups shiyanlou
注:为什么可以用sudo查询,却没有显示在sudo分组下?
cat:用于读取指定文件的内容并打印到终端输出。
方法2 > 查看/etc/group文件
$ cat /etc/group | sort
| sort :意味着将读取的文本进行一个字典排序输出
过滤不想看到的信息,执行查询:
$ cat /etc/group | grep -E "shiyanlou"
/etc/group内容包括:
用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
让lilei使用sudo获取root权限:
su shiyanlou # 此处需要输入shiyanlou用户密码,点击右侧工具栏“SSH直连”,可以看到密码。
groups lilei
sudo usermod -G sudo lilei
groups lilei
(4)删除用户操作:
$ sudo deluser lilei --remove-home
(5)文件权限:
即访问权限;
(1)查看文件权限:
ls -l
1> 文件类型(Linux里面一切皆文件)
2> 文件权限(一个目录同时具有读取权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其他文件)
3> 显示除了 . (当前文件),和 .. (上一级目录)
4>
隐藏属性:
ls -A
ls -Al
查看一个目录完整属性
ls -dl<目录名>
显示所有文件大小:
$ ls AsSh
其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。
(6)修改文件权限:
若不想自己的文件被其他用户读、写执行,则需要对文件的权限修改。
法一:二进制数字表示
每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)对应一个 " rwx ",也就是一个 “ 7 ” ,
iphone6 ”的权限改为只有我自己可以用那么就这样:
为了演示,我先在文件里加点内容:
$ echo "echo \"hello shiyanlou\"" > iphone6
然后修改权限:
$ chmod 700 iphone6
现在,其他用户已经不能读这个“ iphone6 ”文件了:
- 法二:加减赋值操作
完成上述相同的效果,你可以:
$ chmod go-rw iphone6
g
、o
还有 u
分别表示 group、others 和 user,+
和 -
分别表示增加和去掉相应的权限。
5、adduser和useradd的区别是什么?
答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。
adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。
其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。