柳州城乡建设部网站首页,网站建设注意哪些,深圳网站建设制作设计平台,app定制背景#xff1a;当我们的虚拟机和windows系统共享windows上的一个目录(记为#xff1a;A)时#xff0c;把该目录下的目录(记为B)移动(mv)到linux下的任意目录下#xff0c;这个目录B及下面的子目录或文件的权限都是rwx(777)#xff0c;这是他们在windows下的权限。因此用l…背景当我们的虚拟机和windows系统共享windows上的一个目录(记为A)时把该目录下的目录(记为B)移动(mv)到linux下的任意目录下这个目录B及下面的子目录或文件的权限都是rwx(777)这是他们在windows下的权限。因此用ll命令把这些文件列出来时就会发现明显的不一样原因就是权限不同。 因此我写了个bash 脚本递归的将这些移动过来的文件的权限修改为默认值。代码如下
#!/bin/bash
# 修改指定目录的子目录或文件到默认权限
# 下面的函数是递归修改子目录及文件的权限但是还有一种方法就是复制整个目录权限会自然就设置成默认的了
function chmodDefault()
{
if [ -d $1 ]; then
chmod 755 $1
fi
for i in $1/*
do
if [ -f $i ]; then
chmod 644 $i
elif [ -d $i ]; then
chmod 755 $i
chmodDefault $i
fi
done
}
if [ $1 ]; then
echo Usage: sh $0 dir
else
chmodDefault $1
fi
经测试发现这个脚本还是正确的。但是又发现了另外一种改变移动过来的目录的权限的方法就是用复制命令(cp)这相当于以当前用户的身份新建目录所以权限自然地就是默认值了!
如cp /mnt/hgfs/A/aa /home/zcm/download/