对目录执行 chmod 755 会返回 drwxr-xr-x。既然 5 是 read,execute,它不应该返回 drwxr-xr-xr 吗?
在目录上执行 chmod 751 会返回 drwxr-x--x。这不应该返回 drwxr-xr-x 吗?
请解释一下。
答案1
这些位是三组,结果是正确的,我真的不明白你误解了什么。5 是读取、执行,但 rwx 的顺序不变。将它们视为开关,它们可能是打开的 (r/w/x) 或关闭的 (-)。这里再次概述了这些值:
7(8) = 111(2) => rwx
5(8) = 101(2) => r-x
1(8) = 001(2) => --x
答案2
答案:是 rwx。读取。写入。执行。
不是 wxr 或 xrw 或 rxw。这只是 3 种不同的字母排列方式之一。这可能会消除您的一些困惑。
此外,chmod
它还适用于八进制定位系统。八进制表示基数为 8。它可以使用 1 位表示,值从 0 到 7(含 0-7),总共 8 个,这就是它被称为八进制的原因。
不相关:在二进制中,三个 1 代表 1+2+4 = 7。
答案3
这样想想。
rwx
111 where 111 is a binary value
1 1 1 (binary)
4+2+1 -> 7 (decimal by position)
So 751 would be rwx r_x __x
111 101 001 (binary)
421 401 001 (decimal by position)
7 5 1 (decimal equivalent)
答案4
正如 Octavian 上面所说,破折号不用于分隔用户/组/所有人,而是用于 0 权限。如果您希望查看用户/组/所有人的分隔,则它看起来应该像这样:
755 would be drwxr-xr-x where you can separate like this: drwx|r-x|r-x
751 would be drwxr-x--x where you can separate like this: drwx|r-x|--x