仅在 {directories|files} 上递归 chmod

Jon*_*ano 7 linux unix permissions

我想知道如何以递归方式更改路径下所有文件夹的权限(例如/Users/me/Desktop/main_folder),并更改特定文件夹下所有文件的权限。

这些是我想分配的权限:

  • 所有文件夹:700
  • 所有文件:600

有一个关于 folders问题,但我没有找到一个关于文件的问题。

Mar*_*iae 8

那是

find . -type d -exec chmod 700 {} \;
Run Code Online (Sandbox Code Playgroud)

对于从.当前目录开始的所有目录,以及

find . -type f -exec chmod 600 {} \;
Run Code Online (Sandbox Code Playgroud)

对于文件。

有没有办法知道所有修改过的文件夹?

那将是

find . -type d -exec chmod 700 {} \; -exec echo {} \;
Run Code Online (Sandbox Code Playgroud)

我必须先 cd 到根文件夹,对吗?

请不要从根目录执行此操作:您将使所有可执行文件不可执行,包括 ls、rm、mkdir 等。系统将变得无法管理!!!