Camsoft Asked: 2010-01-19 08:15:39 +0800 CST2010-01-19 08:15:39 +0800 CST 2010-01-19 08:15:39 +0800 CST 如何在Linux中递归地将CHMOD命令应用于具有特定名称的任何文件? 772 我需要知道如何将 CHMOD 命令以递归方式仅应用于具有特定名称的文件? chmod 755 -R filename 类似于上面的内容,但它应该适用filename于任何子文件夹中存在的任何内容。 linux ubuntu bash command-line-interface 3 个回答 Voted Best Answer Jakob Borg 2010-01-19T08:20:06+08:002010-01-19T08:20:06+08:00 这将从当前目录递归查找所有名为 filename 的文件,并将它们传递给chmod. find -name filename | xargs chmod 755 有关更多高级选项,find请参见手册页。xargs特别是,如果您收到有关名称中带有空格的文件的错误,请查看-print0标志并对应-0于。xargs user32105 2010-01-19T08:33:05+08:002010-01-19T08:33:05+08:00 find 中还有一个 exec 参数可以执行相同的操作: find . -name filename -exec chmod 755 {} \; Amandasaurus 2010-01-26T02:54:58+08:002010-01-26T02:54:58+08:00 +如果您使用运算符 find 使其同时chmod在多个文件上运行,则可以两全其美。 find . -name filename -exec chmod 755 '{}' + 你应该总是'在你的 . 周围加上一个{},否则一个带有空格的文件名可能会搞砸。在这种情况下,这不是问题,但我有这样做的习惯。
这将从当前目录递归查找所有名为 filename 的文件,并将它们传递给
chmod
.有关更多高级选项,
find
请参见手册页。xargs
特别是,如果您收到有关名称中带有空格的文件的错误,请查看-print0
标志并对应-0
于。xargs
find 中还有一个 exec 参数可以执行相同的操作:
+
如果您使用运算符 find 使其同时chmod
在多个文件上运行,则可以两全其美。你应该总是
'
在你的 . 周围加上一个{}
,否则一个带有空格的文件名可能会搞砸。在这种情况下,这不是问题,但我有这样做的习惯。