我也不知道从哪里说起,那就先说文件系统吧,首先还是先得看得懂这张图
这个在面试的时候笔试题见过很多次了,现在来解释下,第一个d或者-,表示的是文件类型,其他的还有l,b,c,这三个我见到的比较少
- d:目录
- -:文件
- l:链接文档,譬如我图里面强行创建的软链接,p.xml和pachage.xml修改一个文件会影响另一个文件
- b:装置文件里面的可供储存的接口设备(可随机存取装置)
- c:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
后面两个直接抄其他教程原话了,我是真滴没有见过,第一个说完,后面的就要分组来说了,rwx作为一组权限,r表示可读,w表示可写,x表示可执行,第一组rwx表示属主权限,也就是用户what的权限;第二组表示属组权限,也就是和用户what在同一个组的用户权限,不过我的组名也是what;第三组表示其他用户权限
rwx后面跟的数字是指文件的硬链接数,再然后是文件的属主和属组,文件大小,创建日期,文件(文件夹)名称,这些东西没啥问题了
文件系统看懂了,接下来就是文件命令了主要是chown,chmod,还有一个chgrp
chgrp
更改文件属组
chgrp [-R] 属组名 文件名
如上图所示,由于我没有更多的组了就用root代替了,加了sudo,更改属组还有个选项
- -R:递归更改文件属组,就是文件夹下面的所有目录和文件属组也一起更改
chown
更改文件属主,同时也可以更改属组,-R选项与chgrp一样
chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
chmod
更改文件的权限,也就是那三组rwx,有两种表示方式,一种是符号rwx,还有一种是数字777,当然一组rwx对应一个7,具体符号与数字对应如下:
- r:4
- w:2
- x:1
rwx = 4 + 2 + 1 = 7,使用方式如下:
chmod [-R] xyz 文件或目录
xyz指的是数字权限
如上图将test目录修改成rw-rw-r--,具体664怎么算的和之前一样
还有一种是符号进行权限更改,主要是三个分组,user,group,other,具体对应就是u,g,o,另外所有人用a,具体用法
chmod u=rwx,g=rw,o=r 文件或目录
这样,我就又把权限改回来了,你还可以单独增加或减少权限