我想对特定目录下的所有文件和子目录设置755权限,但是我只想对不具有755权限的那些组件执行chmod 755。
find /main_directory/ -exec chmod 755 {} \;
如果find
命令返回一个长列表,则将花费大量时间。我知道我可以使用stat命令来检查每个组件的八进制文件级别权限,然后使用if-else来切换文件权限,但是是否有任何单行方法使用find
并xargs
首先检查文件/目录具有的权限,然后将chmod
其更改为755(如果设置为其他值)。
6
这可能是过早的优化,甚至可能无法实现。进行所有这些检查可能会减慢速度。如果您需要做很多事情,那么确保它更快的测试只会带来回报。
—
ctrl-alt-delor
您可能不想授予所有文件执行权限。这将产生安全风险。(这是Microsoft Windows上的病毒载体之一:所有文件都是可执行的)。在符号模式下,您可以说
—
ctrl-alt-delor
u+rw,go+r,go-w,ugo+X
-注意大写字母。
我同意@ ctrl-alt-delor,但建议的条件更接近您的要求,u = rwX,go = rX应该可以达到相同的目的。
—
penguin359 '19