xargs命令是传递参数的一个过滤器,也是组合多个命令的一个工具         将信息进行分组显示

xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令

之所以能用到这个命令,关键是由于很多命令不支持管道符 | 管道来传递参数,而日常工作中又有这个必要,所以就有了xargs命令

 xargs 命令典型应用说明

  1.查找指定数据信息进行复制,查找出"*.txt"文件,批量复制到/oldgirl目录

    01.将找到的信息放置到cp和最终目录中间

    find /oldboy -type f -name "*.txt" | xargs -i cp {} /oldgirl

    

 

    02.利用cp指明谁是数据最终保存的目录

    find /oldboy -type f -name "*.txt" | xargs cp -t /oldgirl

    

 

     03.利用find的参数-exec直接对cp命令进行操作

    find ./ -type f -name "*.txt" -exec cp {} ./oldgirl \;

    

  2.查找指定数据信息进行移动,查找出"*.txt"文件,批量移动到/oldgirl目录

    01.将找到的信息放置到mv和最终目录之间

    find ./ -type f -name "*.txt" | xargs -i mv {} ./oldgirl

`     02.利用mv指明谁是数据最终保存的目录

    find ./ -type f -name "*.txt" | xargs mv -t mv ./oldgirl

    03.利用find的参数-exec直接对mv命令进行操作

    find ./ -type f -name "*.txt"  -exec mv {} ./oldgirl \;

  3.查找指定数据信息进行删除,查找出"*.txt"文件,批量删除

    find ./ -type f -name "*.txt" | xargs rm

    find ./ -type f -name "*.txt" -exec rm -rf {} \;

    find ./ -type f -name "*.txt" -delete

xargs 命令还有一个作用就是可以忽略别名

  

 

   对于上述结果来说 xargs 命令自动忽略别名功能,所以对于xargs命令来说,它不认识ll命令,因为ll是ls -l 的别名

  此时如果要执行 ll 命令必须摒弃别名,用正常命令来执行

扩展说明:系统中如何忽略别名

  1.使用命令绝对路径

  2.在命令执行前加\

  3.xargs命令自动忽略别名