如何从linux命令提示符中使用chmod将所有文件更改为644,所有文件夹更改为755 ?(终端)
当前回答
一种方法是使用find:
的目录
find /desired_location -type d -print0 | xargs -0 chmod 0755
的文件
find /desired_location -type f -print0 | xargs -0 chmod 0644
其他回答
在 https://help.directadmin.com/item.php?id=589他们写道:
如果你需要一个快速的方法将你的public_html数据重置为755(目录)和644(文件),那么你可以使用这样的方法:
cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -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 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 {} +
如果您想让它安静地工作,请不要更改。
推荐文章
- 如何在终端中提高光标速度?
- 修改一个目录下所有文件和文件夹的权限为644/755
- 仅在文件不存在时才将行追加到文件中
- 如何清除tmux中的滚动缓冲区?
- 警告:未受保护的私钥文件!当尝试SSH到Amazon EC2实例时
- (Mac) -bash: __git_ps1:命令未找到
- 在Bash中重用上一个命令的输出
- 临时更改bash中的当前工作目录以运行命令
- Chmod递归
- 在Ubuntu中创建一个目录的符号链接
- 使用“start”命令并将参数传递给已启动的程序
- 如何编写多行命令?
- 在Python中清除终端
- 使用scp将文件复制到Amazon EC2实例?
- 在安装Homebrew后,我得到' zsh:命令未找到:brew '