递归 chmod:文件为 rw,目录为 rwx

递归 chmod:文件为 rw,目录为 rwx

我想要chmod很多文件和目录。如x目录列表和常规文件执行所示,我想应用rw文件和rwx目录。只使用命令可以吗chmod

如果不是,最方便的方法是什么?

chmod -R 770由于我不希望常规文件变得可执行,因此这是不可能的。

答案1

我偶尔会用一个find命令来实现这一点。虽然丑陋,但很有效。

find /p/a/t/h \( -type d -exec chmod 755 {} \; \) -o \( -type f -exec chmod 644 {} \; \)

答案2

使用 X 权限,来自手册页:

如果文件是目录,则执行/搜索位或任何执行/搜索位均设置为原始(未修改)模式。带有 perm 符号“X”的操作仅与操作符号“+”结合才有意义,在所有其他情况下均被忽略。

因此,请执行以下操作:

chmod -R a-x [directory]
chmod -R a+rwX [directory]

这将删除所有文件和目录的执行位,然后为所有内容添加读写权限,并仅对目录添加执行权限。(从第一步开始,常规文件不再具有执行位。)

答案3

您还可以find使用xargs

find . -type f -print0 | xargs -0 chmod 666
find . -type d -print0 | xargs -0 chmod 777

其中-type指定d教区牧师或F島嶼。

相关内容