是否可以用八进制值表示 +X 符号权限?

Cod*_*ome 5 permissions chmod

是否可以用八进制值表示 +X 符号权限?chmod(1) 手册页说:

仅当文件是目录或已对某些用户具有执行权限时才执行/搜索

这意味着chmod -R g+X仅当已经为用户、组或其他设置了执行位时才会添加组执行权限。您当然可以使用 find 以艰难的方式做到这一点:

find . -perm /ugo=x -exec chmod g+x {} \;
Run Code Online (Sandbox Code Playgroud)

然而,在不使用findtest首先检查文件权限的情况下,如何用八进制模式做同样的事情并不明显。这是可能的,还是有些区域符号和八进制权限不重叠?

Ale*_*ios 5

简短的故事:这是不可能的,不。

\n\n

更长的故事:八进制权限是状态。该[+-][rwxXst]符号代表operations状态变化的最终结果。请注意,不是设置状态并相当于吉尔斯所说的八进制模式的=[rwxXst]那个。其中一个是唯一有条件的操作,其他都是无条件的。X

\n\n

当您chmod使用八进制权限的文件时,您需要逐字提供权限位的最终状态。当您使用这些操作时,您可以选择要对权限位执行的操作。

\n\n

你的问题相当于问是否有一个数字可以代表所有的平方根。答案显然是 \xe2\x80\x98no\xe2\x80\x99:每个平方根都会产生一个数字(学究:虽然它可能是虚数/无理数),但如果没有起始状态(数字),你就无法分辨哪个。

\n