美文网首页我用 LinuxLinuxLinux学习之路
shell编程必须要掌握的命令-xargs

shell编程必须要掌握的命令-xargs

作者: 尘世不扰 | 来源:发表于2019-06-17 22:34 被阅读3次

一. 说xargs命令前,说一下什么是shell编程

什么是shell编程呢,说白了就是按一定的规则把各种命令组织起来,完成一定的事情。纯属个人理解,哈哈。不管是交互式的shell,还是非交互的shell,它都是由一些命令组成的。

所以命令很重要。xargs就是其中之一,并且还是相当重要的一个命令,为什么说它重要呢,因为他和能其他命令结合使用,把一个命令的输出,当作参数传给另一个命令。这个根find命令参数中的exec很像,但是不同:以下4点在网上找的,第一点,是亲身体验过,家里我用的是archlinux,当你通过exec传很多数据给后面的命令时,会卡在哪儿,其他的没试过,如果有兴趣的朋友可以自己比较一下他们速度,

[zhangy@BlackGhost music]$ time find /home/zhangy/download/ -name ".gz" -print
real 0m0.053s
user 0m0.003s
sys 0m0.003s
1,使用find 的exec选项去处理匹配到的选项时,find 一次性将匹配到得参数传给exec执行。但有的系统,对exec 传的参数长度有限制,这样在find 命令执行几分钟后会报溢出,错误信息通常是“参数列太长”或“参数列溢出"。

2,xargs 与find 命令合用的时候,find 把匹配到得命令传递给xargs ,xargs 每次只获取一部分文件,而不是全部。分批处理。

3, 使用exec选项,会为匹配的每个文件处理分配个进程,并不是将匹配到的文件作为一个参数一次执行,这样就会触发多个进程,进而使系统性能下降,影响处理效率。

4,xargs则只有一个进程、但xargs 处理是否分批 ,批次大小,也会受系统些可调参数影响。

二. xargs应用实例

1,找出文件,改变文件所属用户

将把当前目录下面以test开头的文件用户改为zhangy

[root@BlackGhost download]# find . -name "test" -print | xargs chown zhangy:users
#查看当前目录中以test开头的文件所属用户
[root@BlackGhost download]# find . -name "test
" -print -exec ls -al {} ;
./test.sql.zip
-rw-r--r-- 1 zhangy users 1981 Feb 2 16:05 ./test.sql.zip
./test.zip
-rw-r--r-- 1 zhangy users 164 May 23 22:54 ./test.zip
2,把系统的用户统计一下

[zhangy@BlackGhost download]# cut -d: -f1 < /etc/passwd | xargs echo >> /home/zhangy/userlist.txt
3,备份文件

[zhangy@BlackGhost ddd]$ ls |xargs -i cp {} {}.bak
cp test test.bak

扫码关注

相关文章

  • shell编程必须要掌握的命令-xargs

    一,说xargs命令前,说一下什么是shell编程 什么是shell编程呢,说白了就是按一定的规则把各种命令组织起...

  • shell编程必须要掌握的命令-xargs

    一. 说xargs命令前,说一下什么是shell编程 什么是shell编程呢,说白了就是按一定的规则把各种命令组织...

  • Shell 编程

    Kali-LinuxShell编程 【课程目的】 1.掌握shell的基本命令 2.掌握shell的基本概念和作用...

  • shell命令

    shell中的几个常用命令 本文为[1]书中内容简要总结。 1 xargs 语法 xargs 将stdin接收到的...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • 如何解压目录下的所有zip压缩文件

    使用find xargs命令 xargs命令详解,xargs与管道的区别

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

  • linux 中的并行方法

    总结,shell 中的wait ,单行命令中 xargs -P 不错,第三方parallel 最方便 https...

  • Shell学习笔记-基础入门

    走进 Shell 编程的大门 什么是 Shell? 简单来说,Shell编程就是对一堆Linux命令的逻辑化处理。...

网友评论

    本文标题:shell编程必须要掌握的命令-xargs

    本文链接:https://www.haomeiwen.com/subject/fwrtqctx.html