【发布时间】:2016-03-04 04:04:20
【问题描述】:
如何递归更改文件/目录的权限,使其成为与所有者权限相同的组权限?
例如 之前:
640 x.txt
744 y
400 y/z.txt
之后:
660 x.txt
774 y
440 y/z.txt
感谢 fedorqui 将其创建为答案:
find . -name '*' -print0 | xargs -0 bash -c 'for file; do
perm=$(stat -c '%a' "$file")
new_perm=$(sed -r "s/^(.)./\1\1/" <<< "$perm")
chmod "$new_perm" "$file";
done'
【问题讨论】:
-
如果您始终希望保持用户和组权限相同,一个有用的开始是更改您的 umask:
umask 002
标签: linux bash shell file file-permissions