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

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

2023年7月26日发(作者:)

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/

查找资料:

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 –l3. 假如你有⼀个⽂件包含了很多你希望下载的URL, 你能够使⽤xargs 下载所有链接# cat | xargs wget –c

4. 查找所有的jpg ⽂件,并且压缩它# find / -name *.jpg -type f -print | xargs tar -cvzf 5. 拷贝所有的图⽚⽂件到⼀个外部的硬盘驱动

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

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690365460a338790.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信