如何从linux命令提示符中使用chmod将所有文件更改为644,所有文件夹更改为755 ?(终端)


当前回答

这也可以奏效:

chmod -R 755 *  // All files and folders to 755.

chmod -R 644 *.*  // All files will be 644.

其他回答

对我来说,最容易记住的是两个操作:

chmod -R 644 dirName
chmod -R +X dirName

+X只影响目录。

同时完成以下两项:

find -type f ... -o -type d ...

比如,找到类型f或类型d,然后做第一个…文件和第二…dirs。具体地说:

find -type f -exec chmod --changes 644 {} + -o -type d -exec chmod --changes 755 {} +

如果您想让它安静地工作,请不要更改。

这招对我很管用:

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) 为owner添加w,得到rw_r__r__ (0644) 设置执行所有如果一个目录(0755为dir, 0644为文件)。

重要的是,步骤1的权限清除了所有的执行位,所以步骤3只添加了目录(从不是文件)的执行位。此外,这三个步骤都发生在递归到目录之前(所以这并不等同于例如。

chmod -R a=r /foo
chmod -R u+w /foo
chmod -R a+X /foo

由于a=r将x从目录中移除,因此chmod不能递归到目录中。)

最简单的方法是:

chmod -R u+rwX,go+rX,go-w /path/to/dir

这基本上意味着:

更改文件模式-递归地给出:

user:读、写、执行权限; group和其他用户:read和eXecute权限,但没有-write权限。

请注意,X将使目录可执行,而不是文件,除非它已经是可搜索/可执行的。

+X -如果一个目录或文件已经可以被任何人搜索/执行,那么它可以被每个人搜索/执行。

请查看man chmod了解更多细节。

请参见:如何chmod除文件以外的所有目录(递归)?在苏