我想在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