1、前言
当我们分别使用 touch、mkdir 命令创建一名为 test1 的文件和名为 test2 的目录,发现其中有些参数不一样,本文就来给大家来剖析一下。
2、 参数讲解
我们可以通过切片分为下面几个区域,本文就只简单讲解文件类型、权限、所属用户、所属用户组。
2.1、文件类型
- d:文件夹
- -:普通文件
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
2.2、权限
权限简单来说就是限制,通过一些手段限制一部分人。
在 Linux 中,分为三类人:
- root 超级用户,拥有最高的权限,Linux 系统的神。
- user 创建的普通用户
- other 其他用户
2.2.1、权限组成部分
对于权限部分,我们可以分为三个区域。
- 黄色区域:文件所有者的权限
- 红色区域:文件所属组的权限
- 蓝色区域:其他人的权限
2.2.2、权限符号的含义
- r:读权限
- w:写权限
- x:可执行权限
- -:当前的档位没有权限
一般来说,权限的符号位置是固定的,顺序是 rwx ,如果其固定的位置用 - 符号来代替,表示没有相关位置的权限。
2.2.3、权限的修改
看过 Linux 相关书籍的同学应该看到过下面命令 。
chmod 640 test1
我们可以发现,文件的权限是相同的,当我们用了上述命令之后,其权限就会出现下面的情况。
那这是为什么呢?
chmod 是修改权限的命令,后面的接的 640 其实代表的三个区域的权限,6 代表着文件拥有者的权限,4 代表着文件所属组的权限,0 代表着其他人的权限。其数字实际上为二进制转化为八进制的数字。
注:如果对于进制转化不太熟悉的话,可以移步到这个学习一下: 进制相互转化
如果觉得,上述修改权限的方法比较麻烦的话,下面还有方法。
- chmod o-rwx test2
- chmod g-w test2
用户表示符 + / -= 权限字符
- + :向权限范围增加权限代号所表示的权限
- - :向权限范围取消权限代号所表示的权限
- = :向权限范围赋予权限代号所表示的权限
用户符号:
- u :拥有者
- g :拥有者同组用
- o :其它用户
- a :所有用户
- 注:chmod 后面可以加参数 R 表示: 递归修改目录文件的权限
- 只有文件的所有者还有 root 用户才能修改目录或文件的权限。普通用户是不能修改文件的拥有者和所属组,除非是加了 sudo 命令的普通用户或是 root 用户。
2.2.4、文件所有者和所有组的修改
chown :修改文件的拥有者
格式:chown [参数] 用户名 文件名
chgrp :修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
3、目录权限
当我们看完上面的内容之后,我们来看看本文的第一张图。
我们可以看出文件和目录相比,文件相比目录不论是在文件所有者的权限、文件所属组的权限、其他人的权限的 x(可执行)的位置都是空的。
- 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
- 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
- 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
4、后语
希望本篇博客能对各位有所帮助,如果各位有任何疑问,欢迎各位留言,我们可以进行友好的探讨与交流。
欢乐的时间总是过得特别快。又到时间讲bye,我们下一篇再见!!!