递归修改子目录及文件的权限

背景:当我们的虚拟机和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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS之字符串连接方法join

作用&#xff1a;join() 方法用于把数组中的所有元素放入一个字符串&#xff0c;元素是通过指定的分隔符进行分隔的。&#xff08;作用和split正好相反&#xff09; 语法&#xff1a;arrayObject.join(separator) 参数&#xff1a;可选。指定要使用的分隔符。如果省略该参数&…

2.[Yii]创建与设置默认控制器及载入模板

1.创建控制器与访问 class IndexController extends Controller {//访问 index.php?rindex/index//r后面 其中第一个是控制器&#xff0c;第二个是方法&#xff0c;r就是路由route的缩写public function actionIndex(){$this->render("index");//载入模板文件} }…

程序根据手机机型设置自定义底部导航距离

需求: iponeX 以上机型,手机底部有弧度,自己写的导航栏会被遮住, 需要判断手机机型,做兼容设置. 解决: //app.js App({/*** 当小程序初始化完成时&#xff0c;会触发 onLaunch&#xff08;全局只触发一次&#xff09;*/onLaunch: function() {var that this;//获取手机型号…

张雨生《口是心非》

[hjp3]hjptypesong&player1&sonhttp://www.justin-rao.net/songs/[1997]%20ZhangYuSheng%20-%20KouShiXinFei%20-%2002%20-%20KouShiXinFei.mp3&autoplayno&captionfalse&lrc&autoreplay1&bgcolorFFFFFF&width200&height20[/hjp3] 转载于:…

JS之颠倒数组元素的reverse方法

作用&#xff1a;reverse() 方法用于颠倒数组中元素的顺序 语法&#xff1a;arrayObject.reverse() 注意&#xff1a;该方法会改变原来的数组&#xff0c;而不会创建新的数组 实例1&#xff1a;

图文:详解数据库Oracle 11g的基本安装

From: http://blog.csdn.net/wjcreator123/article/details/3243041 下面提供的是Oracle 11g的下载地址和基本安装过程&#xff08;仅作参考&#xff09; 第一步&#xff1a; oracle服务端下载: http://down.zdnet.com.cn/detail/9/82225.shtml 客户端: http://blog.csdn.net…

acid(数据库事务正确执行的四个基本要素的缩写)

ACID&#xff0c;指数据库事务正确执行的四个基本要素的缩写。包含&#xff1a;原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;、持久性&#xff08;Durability&#xff09;。一个支持事务&am…

mysql数据库中查看当前使用的数据库是哪个数据库?

一、用select database()语句 语句 mysql > select database();结果 解释&#xff1a;表示的是当前使用的是哪个数据库或者说会话登录到了哪个数据库中。 二、用show tables语句 语句 mysql > show tables;结果 解释&#xff1a;查询出来的结果中&#xff0c;第一行…

JS之返回数组指定元素的slice

作用&#xff1a;slice() 方法可从已有的数组中返回选定的元素 语法&#xff1a;arrayObject.slice(start,end) 参数1&#xff1a;必需。规定从何处开始选取。如果是负数&#xff0c;那么它规定从数组尾部开始算起的位置。也就是说&#xff0c;-1 指最后一个元素&#xff0c;…

使用 ADO.NET 的 NextResult 方法取得多个 Result Set

(本帖在版工的旧 Blog 中&#xff0c;发表日期为 2007/04/06) (本帖有些 Hyperlink 是连到台湾的网站&#xff0c;若无法连结&#xff0c;麻烦请留言反应)从 ADO.NET 1.x 开始&#xff0c;DataReader 就可以在单一次的查询动作中&#xff0c;「批次 (batch)」读取 T-SQL 语句以…

linux下启动与关闭oracle监听与实例

linux中启动oracle主要分两步&#xff1a;一个是启动监听器&#xff0c;一个是启动实例(一般都忘记了这一步),具体命令如下&#xff0c;提供给大家参考一下&#xff1a; 1:连接服务器 telnet ip 2:输入管理员用户和密码 user-name:oracle password:oracle 3:进入oracle根目录 …

同步和互斥

一、同步和互斥的基本概念 现代操作系统基本都是多任务操作系统&#xff0c;即同时有大量可调度实体在运行&#xff0c;同时运行可能是真的同时运行&#xff08;SMP架构中&#xff09;&#xff0c;也可能仅仅是操作系统提供的服务&#xff08;通过将CPU时间分片&#xff0c;并将…

Mysql常用命令行大全

1、连接Mysql 格式&#xff1a; mysql -h主机地址 -u用户名 &#xff0d;p用户密码 1、连接到本机上的MYSQL。 首先打开DOS窗口&#xff0c;然后进入目录mysql\bin&#xff0c;再键入命令mysql -u root -p&#xff0c;回车后提示你输密码.注意用户名前可以有空格也可以没有空…

React开发(113):git 操作记录

git reflog 可以查看所有分支的所有操作记录&#xff08;包括&#xff08;包括commit和reset的操作&#xff09;&#xff0c;包括已经被删除的commit记录&#xff0c;git log则不能察看已经删除了的commit记录 具体一个例子&#xff0c;假设有三个commit&#xff0c; git st: …

从printf谈可变参数函数的实现

作者&#xff1a;戎亚新 摘要&#xff1a;一直以来都觉得printf似乎是c语言库中功能最强大的函数之一&#xff0c;不仅因为它能格式化输出&#xff0c;更在于它的参数个数没有限制&#xff0c;要几个就给几个&#xff0c;来者不拒。printf这种对参数个数和参数类型的强大适应性…

JS之数组删除/添加项目方法splice

用法&#xff1a;splice() 方法向/从数组中添加/删除项目&#xff0c;然后返回被删除的项目 注:1&#xff1a;该方法会改变原始数组 语法&#xff1a;arrayObject.splice(index,howmany,item1,…..,itemX) 参数1&#xff1a;必需。整数&#xff0c;规定添加/删除项目的位置&…

Struts+DAO框架搭建完成!(源码)

今天做了这个StrutsDAO框架&#xff0c;可以说是又向SSH迈了一步。 做的过程中又发现了一些问题&#xff0c;但是在我和其他人的努力下一起解决了。这个问题是MyEclipse的Tomcat的启动问题。&#xff08;已经解决并发帖解答了&#xff09; 好了&#xff0c;下面切入正题&…