文件和文件夹权限递归为777,还原成默认的755和644

如果无意用到了 chmod -R 777 dirpath ,将一个文件夹下的所有文件或文件夹递归地改成了777的权限。怎样将这些文件方便快速的改成系统默认的755 或 644呢,肯定不会笨到手动去改是吧,并且还要区分文件夹和文件。由于,踩过这个坑,所以就写了个脚本,以后再也不怕踩这个坑了。

#!/bin/bash
chmod 755 . -R
for i in `ls -lR | grep "\-rwxr\-xr\-x" | awk '{print $9}'`
do
    chmod 644 `find ./ -name "$i"`
done

脚本第一句不用解释了,大家都懂的。
第二句能够执行的前提是这个脚本要放到 dirpath 中执行(加一句 cd dirpath 就随便哪个目录执行了),第二句将目录下所有文件夹或文件的权限改成了 755。
for 循环功能就是将所有文件的权限改成 644。
还有更为简单的方法:

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

也可以这样写:

find ./ -type f |xargs chmod 644
find ./ -type d |xargs chmod 755

转载请注明出处 http://www.xiaomastack.com/2014/06/21/chmod777/ 谢谢!

发表评论:

你的电子邮件地址将不会被公开.

24 − = 20