debian 上的递归 chmod 文件和目录的行为与 CentOS 不同

debian 上的递归 chmod 文件和目录的行为与 CentOS 不同

这两个命令运行正常,Debian但不起作用CentOS

find . -type f -exec chmod 644 {} ;
find . -type d -exec chmod 755 {} ;

有什么办法解决吗?

答案1

就像 geedoubleya 所说,你的 find 命令末尾缺少一个 '\' 。所以改变这些:

find . -type f -exec chmod 644 {} ;
find . -type d -exec chmod 755 {} ;

对于这些:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

您需要转义分号,因为“find”及其使用 -exec 创建的子 shell 会解释该字符,因此必须对其进行转义。您还可以在分号上使用单引号。例如 ';'代替 \;

find . -type f -exec chmod 644 {} ';'
find . -type d -exec chmod 755 {} ';'

相关内容