查找不适用于递归?

查找不适用于递归?

我运行了下面的命令,注意到它只会对查找结果的第一级(SubDir*)进行修改,而不会对子序列(ChildSubDir*)进行修改。我想问是否可以递归查找并使用 chmod 执行?

命令运行:

find ./to/path/ -type d -exec chmod 777 {} \;

目录:

DirsRoot
  |-->SubDir1
  |    |-->ChildSubDir1
  |             |-->OtherFile1
  |-->SubDir2
  |    |-->ChildSubDir2
  |             |-->OtherFile2
  |-File1
  |-File2

答案1

您可以递归地使用 chmod 而无需查找。它有-R旗帜。就像是:

$ cd ./to/path
$ chmod -R 777 *

这将是chmod所有文件。

如果您只想 chmod 目录,命令是:

find /to/path -type d -exec chmod 777 {} +

更多细节这里

答案2

我使用下面的命令,它有效。

find /to/path/ -type d -print0 | xargs -0 chmod 777

相关内容