zoukankan      html  css  js  c++  java
  • 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 –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

     
严以律己、宽以待人
查看全文
  • 相关阅读:
    User Profile Service 应用程序的新增功能
    内容管理互操作性服务 (CMIS) 连接器概述 (SharePoint Server 2010)
    AD二次开发提示“出现了一个操作错误”的解决办法
    Excel2010与MOSS2010数据同步配置
    InfoPath2010表单IE浏览器2个“微型内嵌工具”的使用和介绍
    洗礼灵魂,修炼python(1)python简介
    洗礼灵魂,修炼python(2)python安装和配置
    C语言标准定义的32个关键字
    【学习笔记】.NET知识体系结构
    【读】自定义博客园皮肤:暗色流体响应式布局
  • 原文地址:https://www.cnblogs.com/kuang17/p/5737626.html
  • Copyright © 2011-2022 走看看