如何测试目录中的所有文件是否具有正确的权限?使用命令stat --format %a /home/user/dir/*
我可以获得多行字符串中目录中所有文件的权限。假设我想检查所有文件是否都具有权限0700。
我将if [ "$(stat --format %a ~/file)" != 600 ]; then chmod 0600 ~/file; fi
用于单个文件,但如何测试多个文件?
答案 0 :(得分:1)
你可以尝试一下吗?
for i in ~/your_dir/*/*
do
if [ "$(stat --format %a $i)" != 600 ]; then
chmod 0600 $i
fi
done
答案 1 :(得分:1)
查找将为您完成所有这些工作
find <directory> ! -perm -664 -exec chmod 0600 '{}' \;