仅在所有子目录中对文件进行 chmod

仅在所有子目录中对文件进行 chmod

请有人帮助我使用 chmod,我有以下文件结构

-dir1
--file1
--file2
--dir1a
---file1a1
---file1a2
--dir1b
---file1b1
---file1b2

我如何chmod 655对 dir1 和所有子目录下的所有文件?因此,所有文件都将具有 655 权限,并且所有目录将保持原样。

谢谢

答案1

最好使用

find . -type f -exec chmod 655 -- {} +

如果文件名包含空格或以破折号开头,@sagarchalise 提出的另一个解决方案将不起作用。

答案2

我认为走进dir1

find . -type f | xargs chmod 655

就可以了。

或者这个版本,它支持带空格的文件名:

find . -type f -print0 | xargs -0 chmod 655

相关内容