我试图强制所有目录都具有g+rx
权限,但问题很普遍:如何通过使用 chmod 仅需要它的文件,find
而不是处理所有文件。
我试过这个:
find /path -type d \! -perm /g+rx -exec chmod g+rx "{}" ";"
/path
我将其理解为“查找其下没有权限的所有目录g+rx
并chmod g+rx
对其执行”。
但是,查看 IO 统计数据,此命令总是生成大量写入(编辑:使用 验证exec echo...
),因此它会 chmod 一切内容,而不仅仅是需要它的目录。在重复执行时,这不应生成任何写入。
答案1
在这里。有点虚惊一场。我的 shell 在使用“!”时遇到问题否定 中的测试find
。当我用“-not”替换它时,它开始正常工作。