说明:/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目录时排除一个或者多个目录的实现方法
2019-12-01 16:52osyunwei Linux
/home目录里面有data目录,data目录里面有a、b、c、d、e五个目录,现在要把data目录里面除过e目录之外的所有目录拷贝到/bak目录中
延伸 · 阅读
- 2022-03-11在Linux下通过命令行打包Android应用的方法
- 2022-03-10这个 Linux 图形计算器让数学很有趣
- 2022-03-10Linux下部署springboot项目的方法步骤
- 2022-03-10linux中把.c的文件编译成.so文件
- 2022-03-10Linux服务器下安装配置Nginx的教程
- 2022-03-10linux服务器上安装jdk的两种方法(yum+下载包)
- Linux
Linux下如何实现shell多线程编程以提高应用程序的响应
Linux中多线程编程拥有提高应用程序的响应、使多cpu系统更加有效等优点,下面为大家介绍有关shell多线程编程的例 ...
- Linux
Linux下partprobe命令的使用详解
这篇文章主要介绍了Linux下partprobe命令的使用详解,partprobe命令主要用于处理硬盘分区的相关操作,需要的朋友可以参考下...
- Linux
Linux下apache如何限制并发连接和下载速度
在Linux下限值Apache的并发连接数和下载速度需要用到一款Apache的扩展模块mod_limitipconn,下面我们就来讨论mod_limitipconn的安装使用方法...
- Linux
Linux下检测DVD刻录机的设备名及写入速度的几种方法
如何知道自己电脑的DVD刻录机的名字及写入速度呢?下面与大家分享Linux下检测DVD刻录机的名字及写入速度的方法,想知道的朋友可以看看 ...
- Linux
linux中cd命令使用详解
这篇文章主要介绍了linux中cd命令使用详解,总结的十分全面,这里推荐给小伙伴们。 ...
- Linux
linux中快速清空文件内容的几种方法
这篇文章主要介绍了linux中快速清空文件内容的几种方法,需要的朋友可以参考下 ...
- Linux
全面讲解在Linux系统中安装和配置HAProxy的过程
这篇文章主要介绍了在Linux系统中安装和配置HAProxy的过程,HAProxy可以提供负载均衡以及基于TCP和HTTP应用的代理,十分强大,需要的朋友可以参考下...
- Linux
深入理解Linux修改hostname(推荐)
这篇文章主要介绍了深入理解Linux修改hostname(推荐),具有一定的参考价值,有兴趣的可以了解一下。...