我有一个存档,该存档由其他人存档,我想在下载后自动在提取的文件中更改文件系统的分支以获取读取权限。(我无法更改存档的创建方式)。
我研究了这个线程:chmod:如何以递归方式将执行权限仅添加到已经具有执行权限的文件中,而不像其他文件那样。
该目录最初带有多个但全部错误的标志,它们可能显示为:
drwx------
d---r-x---
drwxrwxr-x
dr--r-xr--
这些只是到目前为止我发现的少数几个,但可能还会更多。
find
尝试在没有x
权限的情况下查找目录时发生错误,因此不会将其传递给chmod
。到目前为止,我一直在手动更改父目录的权限,然后进入子目录并对它们执行相同操作,依此类推。但这是很多手工劳动。有没有办法自动执行此操作?
即我现在是怎么做的:
做:
$ chmod -R +x
$ chmod -R +r
直到我没有错误,然后
$ find -type f -exec chmod -x {} +
但是必须有更好的方法。
3
-r与-R不同
—
PJ Brunet 2014年
—
陷入困境