1. shell命令及其运行原理
1.1 是什么shell?
shell是一个命令行解释器。
1.2 shell的作用?
在Linux操作系统中,用户一般是不与操作系统直接交互的,而是通过一个外壳程序来传递用户的需求和反馈结果给用户,shell就是一个外壳程序,来发挥这样的作用。
1.3 shell的意义?
1)将用户的指令解析给Linux内核,再将Linux内核的运行结果通过shell解析给用户。
2)防止非法访问,保护操作系统。
2. 权限的概念
权限本质上是限制用户对文件能否操作的指令。
权限 = 人 + 事物属性。
人泛指用户;事物泛指文件等。
2.1 Linux上面的用户分类
2.1.1 用户:root
是操作系统的超级管理员(只有一个),几乎可以做任何事情,没有权限的限制。
2.1.2 普通用户
Linux操作系统可以存在多个普通用户,有权限的限制。
2.2 Linux中用户的切换
2.2.1 如何从普通用户切换到root
使用指令:su
su
然后输入root用户的密码,就可一切换到root,但是注意,这块只是转换了个身份,路径还是在普通用户时候的路径。
输入:ctrl d 可直接切回普通用户。
使用指令:su -
su -
直接回到root 的登陆界面,路径也与原始路径不一样。
查看用户名的指令:
whoami
2.3 Linux下的角色划分
Linux下普通用户可分为三类:文件拥有者(当前文件属于谁)、文件所属组、other(文件不属于谁)。
当我们在使用 ls -l 指令查看文件属性时,会显示除了文件名、内存大小、创建时间或者修改时间以外,还有显示其他的属性,今天来解释这部分的文件属性。
可以看到文件权限这一列的每一行有10列,且每一列都有一些字母与-,这些都代表着什么?
第一列代表Linux下的文件类型(并不是看文件后缀 .c 、.txt 、.py等)。
- 代表普通文件、文本、可执行文件、归档文件等。
d 代表目录。
b 代表块设备、block、磁盘 (ls -l /dev/vdal)
c 代表字符设备、键盘或者显示器。
p 代表管道文件。
s 代表网络socket文件。
l 代表链接文件。
后面9列的字母-、 r、w、x分别代表无权限、可读、可写、可执行权限。
注意:文件拥有者、文件所属组、other所对应rwx的位置是确定的。简言之,r后面是w,w后面是x,先后位置顺序不变。
可以这样描述文件的权限:
该文件拥有者是 a,拥有可读可写可执行权限;文件所属组是 b,拥有可读可写权限;other拥有可读权限。
3. 修改文件的权限
3.1 如何修改文件拥有者权限
指令:chmod
作用:修改文件的权限。
3.1.1 给文件拥有者添加权限
chmod u+rwx dir
给文件 dir 添加可读可写可执行权限。
3.1.2 给文件拥有者去除权限
chmod u-rwx dir
给文件 dir 去除可读可写可执行权限。
3.2 如何修改文件拥有者权限
3.2.1 给文件所属组添加权限
chmod g+rwx dir
作用:给文件所属组添加可读可写可执行权限。
3.2.2 给文件所属组去除权限
chmod g-rwx dir
作用:给文件所属组去掉可读可写可执行权限。
3.3 如何修改other权限
3.3.1 给other添加权限
chmod o+rwx dir
作用:给other添加可读可写可执行权限。
3.3.2 给other去除权限
chmod o-rwx dir
3.4 如何同时给文件拥有者、文件所属组、other添加权限
chmod u+rwx,g+rw,o+r dir
3.5 如何同时给文件拥有者、文件所属组、other添加权限
chmod a+r dir
3.6 如何更改文件拥有者
3.6.1 普通用户的更改
sudo chown fhz dir
作用:将文件拥有者更改为fhz。
3.6.2 超级用户
chown fhz dir
3.6 如何更改文件拥有者
3.6.1 普通用户的更改
sudo chgrp fhz dir
作用:将文件拥有者更改为fhz。
3.6.2 超级用户
chgrp fhz dir
3.7 直接更改文件的拥有者与所属组
3.7.1 普通用户
sudo chown fhz:fhz dir
3.7.2 超级用户
chown fhz:fhz dir