在Linux中,一切皆文件,因此对文件权限的理解,便是对Linux的权限理解。
开始先对用户有个理解,用户有两种一种事超级用户 root,是#号提示符,普通用户,$提示符。
文件对于操作来说有三个对象,拥有者,所属组,和其他人,在ll显示文件的情况,第一行的-标识文件,如果是d就是目录,然后有九行,分别标识三种对应的人,拥有者,所属组,其他人的权限,有三种权限,r读,w写,x执行。
然后,后面是文件的拥有者,所属组,文件大小,修改时间,文件名
chmod命令修改权限,u/g/o,分别表示user拥有者,group所属组,others其他人,用+或者-,来表示增加或删除权限,
可批量操作,u+rwx,g-rwx等等。
也可以使用八进制修改,因为有和没是01的区别,三个位,正好是8,所以可以用八进制来修改权限。
chown和chgrp是来改变所属组和拥有者,但是需要sudo提升权限。
如果others可以进入一个目录,它是可以删除不属于自己的文件的,所以为了防止这种情况,我们给目录增加粘滞位,来防止。
chmod+t 目录
这样在不属于自己的目录中,就不可以删除不属于自己的文件。
文件的类型
- 普通文件
d 目录
s 套接字
p 管道
c 字符设备 键盘显示器
b 块设备 磁盘
l 链接文件
但是我们创建目录和文件时候都由默认权限,有umask,它是一个数,在普通文件中,默认权限是666,目录是777,但是,umask一般默认位002,将他变成三个二进制的形式即 000 000 010 会将对应存在的权限去掉。
shell的运行原理,shell外壳,直接使用操作系统的成本高,因此我们需要一层软件外壳,来进行交互和保护作用。这就是shell。
shell接受用户的输出,交给os来执行,得到结果反馈给用户。
因此shell的作用是保护和交互。
bash是centos7中的shell。
Linux内核 kernel。
广义上的os 是kernel+shell+配套软件
狭义上的os 就只是kernel
file命令 -c 查看指令 -z查看压缩文件