如何在 Linux 中递归地将 CHMOD 命令应用于任何具有特定名称的文件?

如何在 Linux 中递归地将 CHMOD 命令应用于任何具有特定名称的文件?

我需要知道如何将 CHMOD 命令递归地应用于仅具有特定名称的文件?

chmod 755 -R filename

与上面的类似,但它应该适用于filename任何子文件夹中存在的内容。

答案1

这将从当前目录递归查找所有名为 filename 的文件,并将它们传递给chmod

find -name filename | xargs chmod 755

find请参阅和的手册页以xargs了解更多高级选项。特别是,如果您收到有关名称中带有空格的文件的错误,请查看与相对应的-print0标志和。-0xargs

答案2

find 中还有一个 exec 参数可以执行相同的操作:

find . -name filename -exec chmod 755 {} \;

答案3

+如果使用运算符 find 使其chmod同时在多个文件上运行,则可以同时获得两全其美的效果。

find . -name filename -exec chmod 755 '{}' +

您应该始终'在 周围添加一个{},否则文件名中包含空格可能会造成混乱。在这种情况下这不是问题,但我有这样做的习惯。

相关内容