文件展示
以上有一个目录和两个文件。然后通过 ls -l 命令,可以查看文件的具体属性:
-rw-r--r-- 1 frankie staff 0 7 3 00:18 README.md
-rw-r--r-- 1 frankie staff 90 7 2 22:42 package.json
drwxr-xr-x 2 frankie staff 64 7 2 22:42 src
iNode:节点,文件/目录在文件系统中对应的唯一值
文件类型:目录、文件还是其它
文件权限:不同用户对该文件所具备的权限
链接数目:硬链接数目
文件所有者:文件的主人
文件所属组:文件所属的组
文件修改时间:文件最后的访问/修改时间
以上总共对应了8段字符,每段字符的解释如下
文件类型
用于表明它是文件、链接文件或者目录等,主要有以下几种
若为 d 则是目录;
若为 - 则是文件;
若为 l 则表示为链接文件(link file);
若为 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若为 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
文件权限
分为三种身份:分别为文件所有者权限(owner)、文件所在群组权限(group)、其他用户权限(others)。
每一种身份都有各自的读写执行权限。通常情况下,一个文件只能归属于一个用户和群组,如果其他用户想拥有此文件的权限,可以将该用户加入到具有权限的群组,一个用户可同时归属于多个群组。每种身份包括读写和执行权限,其中 r 表示读权限(read),w 表示写权限(write),x 表示执行权限(execute),- 表示无对应权限。除了用 rwx- 形式之外,也可以使用八进制数模式来表示,对应如下:
每种身份的权限数字为 rwx 的累加得出来的。比如,前面 package.json 的权限为 -rw-r--r--,表示文件所有者权限为 rw-(4+2+0),文件所在群组权限为 r--(4+0+0),其他用户权限为 r--(4+0+0),因此该文件的权限数字为 0o644。
修改文件权限
- 数字方式修改权限
$ chmod 755 ./src/bin/test.js
以上的 755 就是表示权限数字,该文件的权限将被改写为 rwxrw-rw-,即所有者可读写可执行,所在群组可读,其他用户可读。
- 字符方式修改权限
$ chmod who+operator+permissions <file>
其中 who 表示要更改权限的用户,operator 表示要执行的操作,permissions 表示要更改的权限。
- 更改文件所有者:chown
命令:chown username file|directory
chown zhangsan a.txt 修改a.txt文件所有者为张三
- 修改文件所属组:chgrp
chgrp groupname file|directory