递归 chmod:文件 rw,目录 rwx

Del*_*ted 32 linux file-management permissions

我想要chmod很多文件和目录。如x指示目录列表并为常规文件执行我想申请rw文件和rwx目录。是否可以只使用chmod命令?

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

做 achmod -R 770是不可能的,因为我不希望常规文件成为可执行文件。

Ben*_*n S 41

使用手册页中的 X 权限:

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

因此,请执行以下操作:

chmod -R a-x [directory]
chmod -R a+rwX [directory]
Run Code Online (Sandbox Code Playgroud)

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


bau*_*art 19

我有时使用单个find命令执行此操作。丑陋但有效。

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


Joh*_*n T 14

您还可以find与 一起使用xargs

find . -type f -print0 | xargs -0 chmod 666
find . -type d -print0 | xargs -0 chmod 777
Run Code Online (Sandbox Code Playgroud)

其中-type指定ð irectory或˚F ILE。

  • 我会先做目录,然后是文件。否则,由于缺乏许可,您可能会错过一些子树。此外,您应该检查列表是否在 chmod 之前或之后被侦察到,否则,与上述相同。是的,我不会使用 xargs。 (2认同)