您当前的位置: 首页 > 网络技术  > 服务器教程 浏览
linux下cp目录时排除一个或者多个目录的实现方法
发布时间:2015-12-10    点击率:次    来源:www.sytcke.com    作者:电脑技术学习网

说明:/home目录里面有data目录,data目录里面有a、b、c、d、e五个目录,现在要把data目录里面除过e目录之外的所有目录拷贝到/bak目录中 方法一:终端命令行下执行以下命令 cp -R `find /home/data -type d -path /home/data/e -prune -o -print | sed 1d ` /bak ######################################################## 脚本实现 脚本存放路径/home/osyunwei.sh vi /home/osyunwei.sh #编辑脚本,添加下面的代码 #!/bin/sh cp -R `find /home/data -type d -path /home/data/e -prune -o -print | sed 1d ` /bak chmod +x /home/osyunwei.sh #添加脚本执行权限 cd /home #进入脚本存放目录 ./osyunwei.sh #执行脚本 ######################################################## 方法二:使用cp命令复制的时候,只能排除一个目录不被复制,如果想排除两个或者多个目录的话,就需要使用rsync命令来实现了,看下面的例子 如果要排除/home/data目录下面的a、b、c、三个目录,同时拷贝其它所有目录,执行以下命令 yum install rsync #安装rsync rsync -av --exclude data/a --exclude data/b --exclude data/c data /bak 注意:--exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。 原文出自http://www.osyunwei.com

来源 电脑技术网 www.sytcke.com
发表留言
发表留言请先登录!
免责声明:本站发布的信息和评论纯属网民个人行为,并不代表本站立场,如发现有违法信息或侵权行为,请直接与本站管理员联系,我们将在收到您的信息后24小时内作出处理!