手机
当前位置:查字典教程网 >操作系统 >unix linux >linux下cp目录时排除一个或者多个目录的实现方法
linux下cp目录时排除一个或者多个目录的实现方法
摘要:说明:/home目录里面有data目录,data目录里面有a、b、c、d、e五个目录,现在要把data目录里面除过e目录之外的所有目录拷贝到...

说明:/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

【linux下cp目录时排除一个或者多个目录的实现方法】相关文章:

ubuntu取消pppoe启动时自动拔号的设置方法

shell下同时读取多个文件的方法

Linux下查看某一个程序所使用的内存方法

linux目录详解linux目录结构详细分析

linux下删除乱码文件名的方法

Linux下的两个聊天命令的使用方法

Linux 如何避免IO hang实现方法

Linux下获取用户主目录的方法分享

Linux文件目录解析 多个文件目录的作用介绍

U盘在Linux下显示不正常的解决方法

精品推荐
分类导航