如何一步更改文件夹及其子文件夹/文件的权限

我想在Linux中一步(命令)更改文件夹及其所有子文件夹和文件的权限

我已经尝试了以下命令,但它仅适用于提到的文件夹:

chmod 775/opt/lampp/htdocs

是否有办法为/opt/lampp/htdocs及其所有内容(包括子文件夹和文件)设置chmod 755

另外,将来,如果我在htdocs中创建一个新文件夹或文件,该文件夹或文件的权限如何自动设置为755

我也看到了这个堆栈溢出问题:

如何设置默认值'chmod和#39;在Linux终端中?

其他答案是正确的,因为chmod-R 755将为树中的所有文件和子文件夹设置这些权限但你到底为什么要?这对于目录可能有意义,但是为什么要在所有文件上设置执行位呢

我想你真正想做的是将目录设置为755,或者不处理这些文件,或者将它们设置为644。为此,可以使用find命令。例如:

要将所有目录更改为755(drwxr-xr-x):

find/opt/lampp/htdocs-type d-execchmod755{};

要将所有文件更改为644(-rw-r--r--):

find/opt/lampp/htdocs-type f-exec chmod 644{};

一些splain’:(谢谢@tobbez)

  • chmod755{}指定将由find为每个目录执行的命令
  • chmod644{}指定将由find为每个文件执行的命令
  • {}被路径替换
  • 分号告诉find这是它应该执行的命令的结尾
  • \分号被转义,否则它将由shell解释,而不是find

发表评论