将目录的所有文件和文件夹权限更改为644/755
我如何将所有文件更改为644和所有文件夹使用命令提示符下的chmod
到755? (终奌站)
一种方法可以使用find:
find * -type d -print0 | xargs -0 chmod 0755 # for directories find . -type f -print0 | xargs -0 chmod 0644 # for files
最简单的方法是做:
chmod -R u+rwX,go+rX,go-w /foo
这基本上意味着:
通过给予以下方式recursion地修改文件mod
-R
:
- 使用者:使用者,使用者及执行者的权限,
-
g
和其他用户:读取和执行权限,但没有权限。
请注意, X
将使目录可执行,但不是文件,除非它已经是可search/可执行的。
+X
– 如果任何人已经可以search/执行目录或文件,则可以由任何人search/执行。
请检查man chmod
了解更多详情。
另请参阅: 如何chmod除文件(recursion)以外的所有目录? 在苏
这对我工作:
find /A -type d -exec chmod 0755 {} \; find /A -type f -exec chmod 0644 {} \;
我能想到的最短的是:
chmod -R a=r,u+w,a+X /foo
它在GNU / Linux上工作,我相信一般Posix(从我的阅读: http : //pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html )。
这是做什么的:
- 将文件/目录设置为r__r__r__(0444)
- 为所有者添加w,得到rw_r__r__(0644)
- 如果目录(dir为0755,文件为0644),则为所有目录设置执行。
重要的是,第1步权限清除所有的执行位,所以第3步只加回目录的执行位(从来没有文件)。 另外,所有这三个步骤在一个目录被recursion之前发生(所以这不等于例如
chmod -R a=r /foo chmod -R u+w /foo chmod -R a+X /foo
因为a = r从目录中删除x,所以chmod不能recursion到它们中。)
做一次通过与:
find -type f ... -o -type d ...
在中,findtypesf OR键入d,然后执行第一个…文件,第二个…对于dirs。 特别:
find -type f -exec chmod --changes 644 {} + -o -type d -exec chmod --changes 755 {} +
如果你想让它静静地工作,请不要改变。
最容易让我记住的是两个操作:
chmod -R 644 dirName chmod -R +X dirName
+ X只影响目录。
这也可以工作:
chmod -R 755 * // All files and folders to 755. chmod -R 644 *.* // All files will be 644.