转载自: http://www.360doc.com/content/12/0405/13/532901_201081911.shtml xargs用法: xargs xargs - build and execute command lines from standard input 在 使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现 溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。 find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。 在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高; 而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。 来看看xargs命令是如何同find命令一起使用的,并给出一些例子。 下面的例子查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件 #find . -type f -print | xargs file 在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中: $ find / -name "core" -print | xargs echo "" >/tmp/core.log 上面这个执行太慢,我改成在当前目录下查找 #find . -name "file*" -print | xargs echo "" > /temp/core.log 在当前目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限: # ls -l 用grep命令在所有的普通文件中搜索hostname这个词: # find . -type f -print | xargs grep "hostname" 用grep命令在当前目录下的所有普通文件中搜索hostnames这个词: # find . -name \* -type f -print | xargs grep "hostnames" 注意,在上面的例子中, \用来取消find命令中的*在shell中的特殊含义。 find命令配合使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令。
------------------------------------------------------------------------------------------------------------------------------------ 要用管道必须搞清楚标准输入和标准输出的概念。 |
- 浏览: 376547 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (428)
- ubuntu (49)
- ubuntu make error ( 转载) (1)
- solr (6)
- sphinx (5)
- webcam (1)
- git (13)
- Tsar (1)
- centos (8)
- snmp (1)
- ubuntu iso (1)
- sphinx-for-chinese coreseek (2)
- ubuntu shell (2)
- Pinteres (1)
- coreseek (2)
- csft.conf (1)
- git ubuntu (3)
- linux (20)
- php (47)
- so (1)
- sphinxsearch (1)
- pecl ,apt-get (1)
- cloudStack (1)
- 777 (1)
- 0777 (1)
- mongodb (4)
- pecl (1)
- capped (1)
- gridFs (1)
- RTC (1)
- openFire (1)
- spark (1)
- mysql (30)
- jquery (8)
- andriod (3)
- nodejs (59)
- ubuntu,nodejs (2)
- javascript (10)
- twig (1)
- css (2)
- push (2)
- webrtc (1)
- memcached (4)
- symfony2 (1)
- tcp/ip (1)
- js (10)
- socket (6)
- socket.io (2)
- apache2 (2)
- ubuntu,shell (1)
- postfix (2)
- html5 (5)
- android (6)
- Geolocation (1)
- python (12)
- w3af (2)
- goagent (0)
- 开源 (1)
- websocket (1)
- pomelo (6)
- npm (2)
- application/json (1)
- rangy.js (1)
- keycode (3)
- dns (1)
- qt (6)
- redis (10)
- 负载均衡 (1)
- nfs (1)
- 架构 (19)
- nosql (1)
- 队列 (1)
- IM (1)
- apache (6)
- 设计模式 (4)
- apc (1)
- memcache (1)
- couchBase (1)
- phpstorm (1)
- jsonp (2)
- 前端优化 (6)
- c/c++ (1)
- shell (2)
- lua (1)
- mqtt (12)
- ruby (1)
- grunt (1)
- ios (4)
- mac (11)
- nginx (1)
- swift (1)
- ssh (2)
- docker (2)
- java (1)
- ffmpeg (1)
- 爬虫 (3)
- microservice (1)
- 运维 (5)
- rabbitmq (2)
- 消息中间件 (2)
- swoole (1)
- 秒杀 (1)
- rpc (2)
- XtraBackup (1)
- 压力测试 (1)
- 前端 (1)
- zabbix (1)
- els (1)
- elasticSearch (4)
- elk (6)
- secureCRT (1)
- 监控软件 (1)
- grpc (1)
- thrift (1)
- supervisor (1)
最新评论
-
小小西芹菜:
想要建立实时web,推荐GoEasy的web实时推送,他们是专 ...
用node.js(socket.io)实现数据实时推送 -
gaoyaohuachina:
教训的是!
修改linux的用户名 -
hongtoushizi:
gaoyaohuachina 写道不明白你在干吗,改名字直接新 ...
修改linux的用户名 -
gaoyaohuachina:
不明白你在干吗,改名字直接新建一个用户,把原来用户user d ...
修改linux的用户名 -
wukele:
Mark....
总结比较常用实用的js库
发表评论
-
Web服务器磁盘满故障深入解析
2016-07-29 16:05 553转载自: http://oldboy.b ... -
SecureCRT for Mac 7.3.1 破解版下载 – Mac 上专业的终端 SSH 工具
2016-07-15 00:36 1420链接地址: http://www.waitsun.com/s ... -
搜索实例预热处理
2016-01-14 15:27 429转载自: http://mogu.io/ ... -
用fping工具取代ping
2015-08-19 10:37 1085fping最大的好处就是一次可以ping多个地址,而且速度更快 ... -
I can no longer use the signals SIGUSR1 and SIGUSR2 in my programs! Why?
2015-08-16 00:58 484(1): H.4: With LinuxThreads ... -
进程 vs. 线程
2015-07-16 16:09 529我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。 ... -
linux ls 只显示文件或者文件夹
2015-02-27 17:01 499只显示文件夹 ls -l | grep ^d ... -
自动重启服务shell脚本
2014-11-03 16:05 695比如我们想重启php-fpm。 #!/bin/ba ... -
TCP三次握手及四次挥手详细图解
2014-10-30 15:40 430相对于SOCKET开发者,TCP创建过程和链接折除过程是由T ... -
网络分析shell脚本(实时流量+连接统计)
2014-10-30 14:49 1032介绍一个强大的分析网 ... -
QPS、PV和需要部署机器数量计算公式(转)
2014-10-30 14:22 944关于并发用户数和QPS, ... -
借助tcpdump统计http请求
2014-10-30 13:58 639这里所说的统计http请求,是指统计QPS(每秒请求数),统 ... -
Linux中使用ls指令时total的意义
2014-10-13 14:08 8081. filesystem 在格式化的時候就規範好了 blo ... -
为什么用ls和du显示出来的文件大小有差别?
2014-10-13 14:03 636为什么用ls和du显示出来的文件大小有差别? 曾经有几 ... -
> 和>>的区别
2014-03-07 15:49 588> 是定向输出到文件,如果文件不存在,就创建文件;如 ... -
10 个 lsof 命令行的使用示例
2014-03-03 11:22 448转载: http://flycars001.iteye.co ... -
linux4位权限分别代表什么意思(转载)
2013-09-10 11:59 825(转载自): http://chen4984025 ... -
pecl ,apt-get 的安装和删除命令的区别
2013-09-06 02:24 2515apt-get 的安装和卸载命令: ... -
几种Linux常见故障的排除方法
2013-09-04 09:52 465我发现Linux系统在启动过程中会出现一些故障,导致系统无法 ...
相关推荐
Linux xargs 命令 xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。 xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本...
### Linux 下xargs命令详解及xargs与管道的区别 #### 一、xargs命令简介 在Linux系统中,`xargs`是一个非常实用且强大的命令,它主要用于将标准输入(stdin)中的数据转换为命令行参数,从而可以方便地处理大量...
`xargs`是一个过滤器,它从管道或标准输入接收数据,然后将这些数据作为参数传递给指定的命令。默认情况下,`xargs`会将输入的行分割成单词,每个单词成为一个参数,并且默认使用`echo`命令。通过`xargs`,原本包含...
这里的`find`命令找到所有`.bak`文件,然后通过管道(`|`)将结果传递给`xargs`,最后`xargs`调用`rm`命令删除这些文件。 #### 3. `find`与`xargs`的结合使用 `find`与`xargs`的结合使用可以大大提高文件处理效率...
Linux xargs命令 1.功能: xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令。因为以空格作为分隔符,所以有一些文件名或者其他意义的名词内含有空格的时候,...
xargs可以将输入内容(通常通过命令行管道传递),转成后续命令的参数,通常用途有: 命令组合:尤其是一些命令不支持管道输入,比如ls。 避免参数过长:xargs可以通过-nx来将参数分组,避免参数过长。 使用语法...
-type f -name 'pattern' | xargs command`,其中find命令用于查找符合特定条件的文件,然后通过管道(|)传递给xargs,最后由xargs调用command执行操作。 接着,我们转向Linux的文件系统挂载和卸载。在Linux中,...
### Linux中的find与xargs命令详解 在Linux系统中,`find` 和 `xargs` 是两个非常重要的命令行工具,它们被广泛用于文件搜索、处理等任务中。本文将详细解析这两个命令的功能、用法及其应用场景。 #### 1. find ...
当需要查询已安装的OpenJDK版本时,可以通过`rpm -qa | grep java`命令结合管道命令`|`进行筛选,`rpm -qa`命令用于列出所有已安装的rpm包。如果需要卸载已安装的OpenJDK版本,可以采用`rpm -qa | grep java | xargs...
在IT领域,尤其是在Linux和Unix系统中,`xargs`是一个非常实用的命令行工具,用于从标准输入中读取数据并将其作为参数传递给其他命令。然而,标题中的"xargs_for_window"表明我们将讨论如何在Windows环境中实现类似...
xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。 xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,...
在Linux系统中,xargs命令是一个非常实用的工具,它能够将一个命令的输出作为参数传递给另一个命令。这个命令的使用通常涉及到Linux命令行的输入/输出流管理,特别是标准输入流(stdin)、标准输出流(stdout)和...
Linux xargs命令是Linux系统中的一个强大工具,它能够将标准输入(stdin)中的数据转换为命令参数,并将其传递给其他命令。这个命令尤其适用于处理由find、grep等命令产生的大量数据,能有效提高工作效率,避免因...
管道`|`用于连接命令,将前一个命令的输出作为后一个命令的输入。重定向`>`和`用于改变命令的输入和输出流向,`2>`用于错误输出重定向。 6. **文件和目录的权限**:Linux的权限系统基于rwx(读、写、执行)三位表示...
`find`命令结合`xargs`使用可以更高效地处理大量文件的查找与操作。在实际应用中,`find`命令的强大功能和灵活性使其成为Linux环境下文件管理和自动化任务处理的利器。通过合理配置选项,可以实现对文件系统的深度...
#### 五、管道与xargs 1. **`find . -name "*.log" | xargs grep "aa"`**:结合`find`和`grep`命令,先查找符合要求的文件,然后对这些文件进行搜索。 #### 六、开发常用 1. **`top`**:显示系统的实时负载情况。...