Linux下xargs命令详解

1. 简介   之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l       这个命令是错误的 find /sbin -perm +700 |xargs ls -l   这样才是正确的 xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments 。 因为是以空白字元作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空白字元的时候, xargs 可能就会误判了~他的用法其实也还满简单的!就来看一看先! 2. 选项解释 -0 当sdtin含有特殊字元时候,将其当成一般字符,想/'空格等 例如:root@localhost:~/test#echo "//"|xargs  echo       root@localhost:~/test#echo "//"|xargs -0 echo        / -a file 从文件中读入作为sdtin,(看例一) -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。(例二) -p 当每次执行一个argument的时候询问一次用户。(例三) -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。(例四) -t 表示先打印命令,然后再执行。(例五) -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给{},可以用{}代替。(例六) -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。(例七) -s num 命令行的最好字符数,指的是xargs后面那个命令的最大命令行字符数。(例八)   -L  num Use at most max-lines nonblank input lines per command line.-s是含有空格的。 -l  同-L -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符(例九) -x exit的意思,主要是配合-s使用。 -P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到,应该平时都用不到的吧 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

linux 命令xargs,Linux下xargs命令详解相关推荐

  1. dd linux 格式化u盘启动盘_linux dd命令刻录启动U盘详解

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  2. linux 脚本编写基本命令,Linux Shell命令行及脚本编程实例详解

    <Linux典藏大系:Linux Shell命令行及脚本编程实例详解>共15章,分为两篇.主要内容包括:Linux 及Linux Shell简介.初识Linux Shell.常用Shell ...

  3. linux系统编程笔记02——Linux命令:修改文件权限命令chmod、chgrp、chown详解

    Linux命令:修改文件权限命令chmod.chgrp.chown详解 Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限 ...

  4. linux 在文本模式下(命令模式)下,中文是乱码,如何解决?

    linux 在文本模式下(命令模式)下,中文是乱码,如何解决? 转载于:https://blog.51cto.com/renxi/449690

  5. unix/linux命令“ls -l”选项输出结果详解

    from: http://hi.baidu.com/hoxily/item/12e2a02d03f77e0942634a8e unix/linux命令"ls -l"选项输出结果详解 ...

  6. linux里sh命令是做什么的?详解!

    linux里sh命令是做什么的?详解! cs_jiao | 浏览 49759 次  2010-08-20 12:05  2010-08-20 12:29 最佳答案 sh或是执行脚本,或是切换到sh这个 ...

  7. Linux中head和tail命令作用,Linux 命令head和tail常见用法详解

    head和tail是一组想对应的命令,默认分别显示文件的开头和末尾10行记录. head head 命令可以将一段文本的开头一部分输出到标准输出. head命令既可以处理文本文件也可以处理标准输入. ...

  8. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  9. linux下DNS配置详解

    linux下DNS配置详解 DNS 是域名系统 (Domain Name Server) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务.在Internet上域名与IP地址之间是一一对应的 ...

  10. Linux下使用aMsn详解(转)

    Linux下使用aMsn详解(转) amsn这一款在linux下的Msn就不多介绍了,0.95版出来后加入了摄像头,在加上其文件传输功能,你还留恋于gaim么? 经过多天的搜索和尝试,终于在Fedor ...

最新文章

  1. C语言中的scanf()函数介绍
  2. mybatis中foreach标签详解
  3. MOXy的@XmlVariableNode – JSON模式示例
  4. 120. Triangle
  5. JAVA 定义全局常量码表_【Java基础】java常量是什么?
  6. 统计词语出现次数python_Python实战教程:如何统计序列中元素的出现频度
  7. 移植wpa_supplicant 2.5 实现rtl8188可以无线上网
  8. 进入REST Core
  9. iOS开发之tableHeaderView的那些坑
  10. 疑似APT组织响尾蛇的JavaScript脚本调试分析
  11. 剪映怎么导入mkv_mkv用什么播放器打开_什么播放器可以打开mkv格式-系统城
  12. ffmpeg限制文件大小php,ffmpeg将音频比特率限制为128kb / s [关闭]
  13. 中国Top20天使投资机构和中国Top20VC投资机构
  14. 历史上的今天:PHP公开发布;iPhone 4 问世;万维网之父诞生
  15. AIX smit设置设置能够输入中文
  16. Ultraedit使用小技巧
  17. Oracle Form二次开发实战总结 调用Form
  18. hook Android 权限请求, 插入权限目的dialog显示
  19. 塑壳断路器选型需关注的5个重要参数
  20. 打开cmd命令行的常用方法总结

热门文章

  1. 快速提升Golang编程能力:那就一起用Go做项目吧
  2. 智能家居系统设计与实现
  3. 性能统计工具 sysstat 使用介绍
  4. sysstat 离线安装
  5. 该公司myRIO不仅有丰富的硬体生态系统
  6. signature=e9c3e111e2374143dfad8bd5f3d2024c,XFA: Faster Signature Matching with Extended Automata
  7. 黑马Java热门面试题线程(三)
  8. 【算法】【动态规划篇】第3节:数字三角形问题
  9. Photoshop CS6自学(五)图片编辑
  10. eMule连接到进ed2k网络分析