Linux拷贝排除一个或多个目录的实现方法
Linux拷贝排除一个或多个目录的实现方法
文章目录:
- 一、用cp命令实现
- 二、用rsync命令
你有没有想要拷贝某个目录下的很多文件或者目录,但是又偏偏有几个文件你不想要拷贝,有人说可以全部拷贝过去再删除呀,但是关键这几个文件可能很大很大,这个时间成本怎么算呀,好吧,那我们就来一个 “一致对外” 策略!!!
建议采用rsync命令,方便快捷
一、用cp命令实现
/home目录里面有data和photo目录,data目录里面有test1,test2,test3,test4四个目录,现在要把data目录里面除test4目录之外的所有目录拷贝到photo目录中
cp -r find /home/data -type d -path /home/data/test4 -prune -o -print | sed 1d
/home/photo
上述命令参数说明:
find /home/data -type d 找出该目录下的文件夹,如果是-type f则是找出该目录下的文件。
再加上路径选项:-path /home/data/test4表是找出/home/data指定路径下的文件夹。
-prune:使得find命令不进入到当前路径。
-o类似于逻辑或运算,find /home/data -type d -path /home/data/test4 -prune -o -print是find /home/data -type d -path /home/data/test4 -a -prune -o -print的缩写。
其中-a相当于逻辑与&&,-o相当于逻辑或||,上述命令等价于:
if -path “/home/data/e” then
-prune
else
意思就是查找/home/data目录下的文件夹,如果路径是/home/data/e,就执行“-prune”(跳过)操作,如果不是该路径,则执行 “-print”(打印)操作。
- sed 1d:通过管道执行该命令,表示上面查找出来的文件列表删除第一行(/home/data),即根目录不需要加进来,否则的话就相当于把所有文件夹进行了拷贝。
二、用rsync命令
ync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync 本来是文件同步备份的工具,相对于普通的 cp 命令,rsync 在控制方面就强多了,而且 rsync 对遍历目录也支持,有
--exclude
参数可以忽略指定的文件或文件夹。
/home目录里面有data和photo目录,data目录里面有test1,test2,test3,test4四个目录,现在要把data目录里面除test3和test4目录之外的所有目录拷贝到photo目录中
cd /home/data
rsync -av --exclude test3/ --exlclude test4/ ../data/ /home/photo
上述命令参数说明:
-a参数表示archive模式(-a 参数已经包含遍历处理参数 -r),-v表示详细链模式输出,-z表示传输文件时使用压缩传输的模式。
注意:
–exclude后面的路径不能为绝对路径,必须为相对路径才可以,否则出错。
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠
Linux拷贝排除一个或多个目录的实现方法相关推荐
- (转)linux下cp目录时排除一个或者多个目录的实现方法
方法二:使用cp命令复制的时候,只能排除一个目录不被复制,如果想排除两个或者多个目录的话,就需要使用rsync命令来实现了,看下面的例子 如果要排除/home/data目录下面的a.b.c.三个目录, ...
- linux下cp复制目录时排除某些目录的方法分享,Linux 下复制(cp)目录时排除一个或者多个目录的方法...
cp 貌似没有排除目录的功能,可以使用 rsync 命令来实现了,如: [案例] /home/52php目录里面有data目录,data目录里面有 a.b.c.d.e 五个目录,现在要把data目录里 ...
- Linux 下复制(cp)目录时排除一个或者多个目录的方法
cp 貌似没有排除目录的功能,可以使用 rsync 命令来实现了,如: [案例] /home/52php目录里面有data目录,data目录里面有 a.b.c.d.e 五个目录,现在要把data目录里 ...
- Linux拷贝文件夹
参考博文: linux下cp目录时排除一个或者多个目录的方法 1. cp cp -r 和-R功能上是等价的.不加-r或者-R的时候,只拷贝文件,不拷贝文件夹:加上后则会拷贝文件夹--包括下一级的子文件 ...
- linux强制移除pdf密码,分享|如何在 Linux 中从一个 PDF 文件中移除密码
今天,我碰巧分享一个受密码保护的 PDF 文件给我的一个朋友.我知道这个 PDF 文件的密码,但是我不想透露密码.作为代替,我只想移除密码并发送文件给他.我开始在因特网上查找一些简单的方法来从 PDF ...
- linux find文件,并复制,通过find命令寻找文件并拷贝到一个指定目录方法详解
有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中,可以通过使用find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录 将通过find命令找到的文件拷贝到一个新的 ...
- linux find 拷贝,通过find命令寻找文件并拷贝到一个指定目录方法详解
将通过find命令找到的文件拷贝到一个新的目录中 有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到另一个目录中,我通过find命令从源目录查找到符合条件的文件然后使用cp命令拷贝到目标目录 ...
- 在linux中建立一个vim的目录,Linux学习笔记一(目录结构、Vim编辑器、用户管理)...
1.Linux介绍 linux是一个开源.免费的操做系统,其稳定性.安全性.处理多并发已经获得 业界的承认,目前不少企业级的项目都会部署到Linux/unix系统上. Linux主要的发行版: Ubu ...
- linux 打包排除多个目录,linux tar打包压缩排除某个目录或文件
linux tar打包压缩排除某个目录或文件 用tar打包时想剔除打包目录中的某个子目录或文件: 比如你想打包/home这个目录,但是/home/www.phpernote.com/目录,/home/ ...
最新文章
- 第五届蓝桥杯 c/c++ B组6
- 主模式和野蛮模式_网络野蛮行为的含混性和观念
- [转] C# TextBox、DataGrideView中的数据绑定
- CMU Database Systems - Concurrency Control Theory
- spark内核揭秘-06-TaskSceduler启动源码解析初体验
- struts教程笔记6
- Java算法面试题(005) 求n边形周长的k等分点坐标(今日头条)
- 怎么学计算机制作ppt,电脑ppt怎么做
- 怎么完全卸载赛门铁克_赛门铁克专用卸载工具
- 在创建生成WIFI二维码手机扫码链接
- 蒸汽流量计算软件_补偿型涡街流量计
- cc2530dma控制器功能_dma控制器是什么_dma控制器工作方式
- CN域名海外注册商体系(7)2010年4月2日资料
- 【干货】如何有效地提问
- 多元线性回归及案例(Python)
- C语言变量前面加vol,Volitale
- TotalControl之手机录屏神器
- 如何有效的解决文件锁定问题
- 2017西安网络赛B_Coin
- 虚幻4与Unity: 哪个游戏引擎是开发者的最爱?
热门文章
- 软件常见故障的现象、故障排除的方法
- 《软件测试的艺术》读书笔记 - 1
- Visual Studio附加到进程调试
- 如何用计算机弹出ink sans,INKSANS模拟器PC
- python英文单词及其出现次数-Python读取英文文件并记录每个单词出现次数后降序输出示例...
- python编程从入门到实践课后题答案-《Python编程:从入门到实践》课后习题及答案—第11章...
- 华为python工程师工资-华为百万年薪抢人工智能应届生,这个高薪行业你如何进入?...
- python怎么加载图片-python爬虫--图片懒加载
- python好学嘛-马哥教育官网-专业Linux培训班,Python培训机构
- arcgis的python脚本-ArcGIS Python脚本使用