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命令自动忽略别名