电脑装了双系统,windows上的文件复制到linux上时,总是会开放所有权限,也就是777。
这样不仅不合理,而且目录会有绿色的前景,看起来非常不舒服
目录较多时,手动设置也比较烦。
如果是个人使用,我们一般将目录设为755,文本文件设为644,就够了。
所以可以通过shell脚本来自动设置。
这里贴一个自己写的简单例子,会递归将目录中的文件夹设为755,文本文件设为644,bash shell脚本会设为755(也就是#!/bin/bash
或#!/usr/bin/bash
打头的)。
#!/bin/bash
YELLOW='\033[0;33m'
LYELLOW='\033[1;33m'
NONE='\033[0m'
usage="${YELLOW}\
Usage: permit <files>.${NONE}\n"
if [ $# -eq 0 ]
then
printf "$usage"
fi
traverse()
{
files=$*
for file in $files
do
if [ -d "$file" ] #is dir
then
chmod 755 "$file"
traverse "$file"/*
elif [ -e "$file" ] #is regular file
then
first_line=$(sed -n 1p $file|tr -d '\0')
if [ "$first_line" == "#!/bin/bash" -o "$first_line" == "#!/usr/bin/bash" ]
then
chmod 755 $file
else
chmod 644 $file
fi
fi
done
}
traverse $*