主页 > 知识库 > linux下cp目录时排除一个或者多个目录的实现方法

linux下cp目录时排除一个或者多个目录的实现方法

热门标签:漳州外呼系统怎么样 开封400电话办理价格 地图标注小区项目入驻 内蒙古电信外呼系统 4s店如何在百度地图标注 凯立德剧院地图标注 天津人工电销机器人费用 曲阜地图标注app 哪个地图标注更清晰
说明:/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目录时排除一个或者多个目录的实现方法》,本文关键词  linux,下,目录,时,排除,一个,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《linux下cp目录时排除一个或者多个目录的实现方法》相关的同类信息!
  • 本页收集关于linux下cp目录时排除一个或者多个目录的实现方法的相关信息资讯供网民参考!
  • 推荐文章