Linux下,拷贝文件时,排除某些文件

一下是自己用到到几次实践,觉得很赞:

1.拷贝文件时,排除某些不需要的文件:

1)使用xargs来做:

  ls /tmp/test/ |grep -v .gz |xargs -i cp -r /tmp/test/{} /tmp/test_cp

2)使用find+cpio的方式:

  find /tmp/test/ |grep -v .gz |cpio -pdm /tmp/test_cp/

3) 使用rsync来做:

  rsync -avp --exclude = /tmp/test/xxx  /tmp/test_cp/

查找资料:

Linux下xargs命令详解

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子。

1. 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题

find ~ -name ‘*.log’ -print0 | xargs -0 rm -f

2. 获得/etc/ 下所有*.conf 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l

# find /etc -name "*.conf" | xargs ls –l

3. 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接

# cat url-list.txt | xargs wget –c

4. 查找所有的jpg 文件,并且压缩它

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

5. 拷贝所有的图片文件到一个外部的硬盘驱动

# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

xargs资料转自:http://blog.csdn.net/sunboy_2050/article/details/7303501

时间: 2024-10-07 04:45:57

Linux下,拷贝文件时,排除某些文件的相关文章

zip & tar 压缩文件时排除某个文件夹

确实是用参数 -x aaa bbb 两个文件夹要写全路径. 如 zip -r test.zip test -x /test/aaa/* -x /test/bbb/* 既包含了文件夹,也可以 zip -r test.zip test -x /test/*.mp4(还未尝试, 不知道可否删除递归文件夹中.mp4文件),压缩时排除指定文件. tar -zcvf test.tar.gz --exclude=aaa --exclude==bbb test 其他参考:http://www.cnblogs.c

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

原文链接:http://www.jb51.net/LINUXjishu/88971.html 说明:/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##########################

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

说明:/home目录里面有data目录,data目录里面有a.b.c.d.e五个目录,现在要把data目录里面除过e目录之外的所有目录拷贝到/bak目录中 系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 方法一:终端命令行下执行以下命令 cp -R `find /home/data -type d -path /home/data/e -prune -o -print | sed 1d ` /bak ###############

7z压缩文件时排除指定的文件

分享一个7z压缩文件时排除指定文件类型的命令行,感觉很有用: 7z a -t7z d:\updateCRM.7z d:\updateCRM\*.* -r -x!*.log -x!*bak a:创建压缩文件 -t7z:7z格式 d:\updateCRM.7z 目标文件名 d:\update7z\*.* 源文件位置 -r:遍历所有子目录 -x!* 要扣除的文件类型

【原创】linux压缩文件夹时排除特定文件夹

linux下压缩解压文件这是非常常用的命令,我们需要很经常的来打包文件做转移或者其他的什么操作. 有时公司的程序员需要把正在运行网站的程序下载下来,需要打包,但是比如备份文件夹有十几G,上传图片的文件夹也很大,总不能把其他文件夹写上一遍吧? 通过查找,我也找到两种方法,在这里和大家分享一下 1. $(ls | grep -v xx) tar -zcf tmp.tgz $(ls | grep -v xx) grep -v :反检索,只显示不匹配的行.这样就排除了特定的文件夹.这个方法也适用与zip

[转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件

XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dirB /s /e /y XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目

【java】 linux下利用nohup后台运行jar文件包程序

Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar XXX.jar & &代表在后台运行. 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行. 继续改进,如何让窗口关闭时,程序仍然运行? 方式三 nohup java -jar XXX.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,

linux下rsync+inotify实现服务器之间文件实时同步

先介绍一下rsync与inotify. 1.rsync 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等.随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所

linux下的c语言编程删除文件夹

刚刚在学习开始做新项目的时候,学长布置了一项任务,就是在给定一个目录下,要将这个目录下一个星期之前的目录包括里面的文件全部删除,只保留这一个星期内的.百度了好久的资料,终于完成,记录一下防止忘记.(注:文件夹名称默认为日期格式,如20140716) #include<dirent.h> #include<sys/types.h> #include<string.h> #include<stdlib.h> #include<unistd.h> #i

Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50

Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50 分类: 系统运维 查找包含BOM头的文件,命令如下: 点击(此处)折叠或打开 grep -r -I -l $'^\xEF\xBB\xBF' ./ \xef\xbb\xbf是UTF8 BOM的16进制表示 这个命令会把当前目录及所有子目录下的BOM头删除掉. 点击(此处)折叠或打开 find . -type f -exec sed -i 's/\xEF\xBB\xBF//' {} \; 另一种方法: 点击