我需要知道如何将 CHMOD 命令递归地应用于仅具有特定名称的文件?
chmod 755 -R filename
与上面的类似,但它应该适用于filename
任何子文件夹中存在的内容。
答案1
这将从当前目录递归查找所有名为 filename 的文件,并将它们传递给chmod
。
find -name filename | xargs chmod 755
find
请参阅和的手册页以xargs
了解更多高级选项。特别是,如果您收到有关名称中带有空格的文件的错误,请查看与相对应的-print0
标志和。-0
xargs
答案2
find 中还有一个 exec 参数可以执行相同的操作:
find . -name filename -exec chmod 755 {} \;
答案3
+
如果使用运算符 find 使其chmod
同时在多个文件上运行,则可以同时获得两全其美的效果。
find . -name filename -exec chmod 755 '{}' +
您应该始终'
在 周围添加一个{}
,否则文件名中包含空格可能会造成混乱。在这种情况下这不是问题,但我有这样做的习惯。