转载自: 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可以使用户对所匹配到的文件执行几乎所有的命令。
------------------------------------------------------------------------------------------------------------------------------------ 要用管道必须搞清楚标准输入和标准输出的概念。 |
- 浏览: 358428 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (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 514转载自: http://oldboy.b ... -
SecureCRT for Mac 7.3.1 破解版下载 – Mac 上专业的终端 SSH 工具
2016-07-15 00:36 1379链接地址: http://www.waitsun.com/s ... -
搜索实例预热处理
2016-01-14 15:27 396转载自: http://mogu.io/ ... -
用fping工具取代ping
2015-08-19 10:37 1035fping最大的好处就是一次可以ping多个地址,而且速度更快 ... -
I can no longer use the signals SIGUSR1 and SIGUSR2 in my programs! Why?
2015-08-16 00:58 447(1): H.4: With LinuxThreads ... -
进程 vs. 线程
2015-07-16 16:09 500我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。 ... -
linux ls 只显示文件或者文件夹
2015-02-27 17:01 457只显示文件夹 ls -l | grep ^d ... -
自动重启服务shell脚本
2014-11-03 16:05 660比如我们想重启php-fpm。 #!/bin/ba ... -
TCP三次握手及四次挥手详细图解
2014-10-30 15:40 386相对于SOCKET开发者,TCP创建过程和链接折除过程是由T ... -
网络分析shell脚本(实时流量+连接统计)
2014-10-30 14:49 957介绍一个强大的分析网 ... -
QPS、PV和需要部署机器数量计算公式(转)
2014-10-30 14:22 902关于并发用户数和QPS, ... -
借助tcpdump统计http请求
2014-10-30 13:58 595这里所说的统计http请求,是指统计QPS(每秒请求数),统 ... -
Linux中使用ls指令时total的意义
2014-10-13 14:08 7571. filesystem 在格式化的時候就規範好了 blo ... -
为什么用ls和du显示出来的文件大小有差别?
2014-10-13 14:03 579为什么用ls和du显示出来的文件大小有差别? 曾经有几 ... -
> 和>>的区别
2014-03-07 15:49 491> 是定向输出到文件,如果文件不存在,就创建文件;如 ... -
10 个 lsof 命令行的使用示例
2014-03-03 11:22 420转载: http://flycars001.iteye.co ... -
linux4位权限分别代表什么意思(转载)
2013-09-10 11:59 764(转载自): http://chen4984025 ... -
pecl ,apt-get 的安装和删除命令的区别
2013-09-06 02:24 2445apt-get 的安装和卸载命令: ... -
几种Linux常见故障的排除方法
2013-09-04 09:52 435我发现Linux系统在启动过程中会出现一些故障,导致系统无法 ...
相关推荐
Linux xargs 命令 xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。 xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本...
在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别,本文通过实例给大家详解,需要的的...
xargs 是给命令传递参数的一个过滤器,可以将管道或标准输入的数据转换成参数,默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行,不过通过 xargs 的处理,换行将被空格取代。
Linux xargs命令 1.功能: xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令。因为以空格作为分隔符,所以有一些文件名或者其他意义的名词内含有空格的时候,...
xargs可以将输入内容(通常通过命令行管道传递),转成后续命令的参数,通常用途有: 命令组合:尤其是一些命令不支持管道输入,比如ls。 避免参数过长:xargs可以通过-nx来将参数分组,避免参数过长。 使用语法...
xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。 xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,...
在使用 Linux 时,你是否遇到过需要将一些命令串在一起,但是其中一个命令不接受管道输入的情况呢?在这种情况下,我们就可以使用 xargs 命令。xargs 可以将一个命令的输出作为参数发送给另一个命令。 在 Linux 中,...
之所以要用到xargs,是因为由于很多命令不支持使用管道|来传递参数,例如: find /sbin -perm +700 |ls -l //这个命令是错误,因为标准输入不能作为ls的参数 find /sbin -perm +700 |xargs ls -l //这样才是正确的
5.4 管道 38 5.5 tee 39 5.6 标准输入、输出和错误 40 5.6.1 标准输入 40 5.6.2 标准输出 40 5.6.3 标准错误 40 5.7 文件重定向 40 5.7.1 重定向标准输出 41 5.7.2 重定向标准输入 42 5.7.3 重定向标准错误 42 5.8 ...
4.8 使用Red Hat的wmconfig命令 54 4.9 个人化的X资源文件 54 4.10 使用xdm 55 4.11 XFree86疑难解答 57 4.12 小结 57 第5章 窗口管理器 58 5.1 GNOME X环境 59 5.1.1 什么是GNOME 59 5.1.2 GNOME 安装组件 59 5.1.3...
11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到...
11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到...
11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到...
5.4 管道 38 5.5 tee 39 5.6 标准输入、输出和错误 40 5.6.1 标准输入 40 5.6.2 标准输出 40 5.6.3 标准错误 40 5.7 文件重定向 40 5.7.1 重定向标准输出 41 5.7.2 重定向标准输入 42 5.7.3 重定向标准错误...
11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到...
linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...
11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 tr用法 119 12.1 关于tr 119 12.1.1 字符范围 119 12.1.2 保存输出 120 12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到...
002_使用find和xargs.pdf 003_后台执行命令_crontab_at.pdf 004_文件名置换_匹配文件名中的字符.pdf 005_echo_read_cat_管道_tee_标准输入输出和错误_重定向标准输入输出和错误_exec.pdf 006_命令执行顺序.pdf ...
详细的介绍了Linux下的编程指南 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对...