在我的 Linux 机器上,我有以下文件:
drwxr-xr-x 2 jsgdr Unix_31 4096 Dec 2 17:46 jsgdr
如何将权限 2 更改为 4,以便我可以这样做:
drwxr-xr-x 4 jsgdr Unix_31 4096 Dec 2 17:46 jsgdr
答案1
你所说的数字并不是指权限。
mkdir demo
cd demo
ls -ld
drwxr-xr-x 2 root root 4096 Dec 2 10:21 .
所以,这里的数字2指的是,
- 该目录在其父目录中的条目;
- 目录自己的条目。
然而,如果你想看 4,你可以在以下时间看到它:
mkdir sub_demo{1,2}
ls -ld
drwxr-xr-x 4 root root 4096 Dec 2 10:23 .
正如您所看到的,我们看到数字 4 是因为我们创建了 2 个子目录。所以现在4代表,
- 该目录在其父目录中的条目;
- 目录自己的条目。
- 目录内 2 个子目录中的 .. 条目。
你可以在我的另一个回答中找到详细的解释这里。
答案2
和2
不是4
权限,而是文件硬链接数量的计数。来自GNU 文档(POSIX 规范ls
指定了这一点,但这个措辞更清晰,恕我直言):
‘-l’
‘--format=long’
‘--format=verbose’
In addition to the name of each file, print the file type, file mode bits,
number of hard links, owner name, group name, size, and timestamp (see
Formatting file timestamps), normally the modification time. Print question
marks for information that cannot be determined.
例如:
$ touch a
$ ls -l
total 0
-rw-r--r-- 1 root root 0 Dec 2 21:48 a
$ ln a b
$ ls -l
total 0
-rw-r--r-- 2 root root 0 Dec 2 21:48 a
-rw-r--r-- 2 root root 0 Dec 2 21:48 b
$ ln a c
$ ls -l
total 0
-rw-r--r-- 3 root root 0 Dec 2 21:48 a
-rw-r--r-- 3 root root 0 Dec 2 21:48 b
-rw-r--r-- 3 root root 0 Dec 2 21:48 c
对于目录来说,硬链接计数与子目录的数量有关。看为什么新目录在添加任何内容之前其硬链接计数为 2?了解更多信息。