谁能解释一下-rw-rw-r--. 1
并提供有关 ls -lart 命令的一些“详细”信息。
具体来说,1
文件权限后面的是什么意思?为什么会改变或者为什么不同的文件不同?
答案1
一些例子:
-rwxrw-r-- 1
是所有者具有读取、写入和执行权限的文件。组具有读取和写入权限,其他人只有读取权限。没有指向此数据的链接。
drwxr-xr-x 10
是一个包含 8 个文件的目录。额外的 2 个是.
和..
。只有所有者可以在此目录中创建文件,其他人可以访问目录中的文件,并在权限允许的情况下读取这些文件的内容。
-r-------- 2
是只有所有者可以读取但不能执行或修改的文件。它有一个链接,这意味着磁盘上某处有另一个文件引用访问相同的数据。因此磁盘上的实际“文件内容”有 2 个“文件”引用它。这些链接通常是使用 创建的,而ln
无需提供-s
。
所以:
- 字符1是节点类型:通常
-
或d
指示文件或目录。 - 字符 2、3、4 代表主人的
r
ead、w
rite 和 e ecute。x
- 角色 5、6、7 为该组做同样的事情。
- 字符 8、9、10 对其他人也做同样的事情。
- 如果节点是文件,则权限字符后面的数字表示链接的数量;如果节点是目录,则权限字符后面的数字表示“子节点”的数量。
参见章节长格式的man ls
。
答案2
答案3
[max@localhost ~]$ ll
共 4
德鲁伊2max max 4096 9月 25 17:11 zzz
这里 2 表示链接数
现在我将在 zzz 内创建 3 个目录
现在值变为 5
[max@localhost ~]$ cd zzz [max@localhost zzz]$ mkdir abc drwxrwxr-x 5 max max 4096 9 月 25 日 17:16。 drwx------ 5 max max 4096 9月 25 17:12 .. drwxrwxr-x 2 max max 4096 9月 25 17:16 上午 drwxrwxr-x 2 max max 4096 9月 25 17:16 b drwxrwxr-x 2 max max 4096 9月 25 17:16 c
[max@localhost zzz]$ cd
[max@localhost ~]$ ll
共 4
德鲁伊5max max 4096 9月 25 17:16 zzz
这是因为现在 zzz 里面有 5 个目录,其中 3 个是a
b
c
隐藏目录,2 个是隐藏目录.
..
如果我创建文件,那么链接计数不会发生任何变化
[max@localhost zzz]$ touch 1 2 3 [max@localhost zzz]$ ls -al 共 20 drwxrwxr-x 5 max max 4096 9月25日 17:26 . ------> 当前目录链接数 drwx------ 5 max max 4096 9月25日 17:12 .. ------> 父目录链接数 -rw-rw-r-- 1 max max 0 9月 25 17:26 1 -rw-rw-r-- 1 max max 0 9月 25 17:26 2 -rw-rw-r-- 1 最大 最大 0 9月 25 17:26 3 drwxrwxr-x 2 max max 4096 9月 25 17:16 上午 drwxrwxr-x 2 max max 4096 9月 25 17:16 b drwxrwxr-x 2 max max 4096 9月 25 17:16 c [max@localhost zzz]$ cd [max@localhost ~]$ ll 共 4 drwxrwxr-x 5 max max 4096 9月25日 17:26 zzz
但如果我删除任何目录,那么链接数就会改变
[max@localhost zzz]$ rmdir bc [max@localhost zzz]$ cd [max@localhost ~]$ ll 共 4 drwxrwxr-x 3 max max 4096 9月 25 17:28 zzz