Xargs命令

Xargs是用来做什么的呢? OK, 先看下他能干什么:

  1. ls
  2. 1 2 3 4
  3. ls | xargs ls -l
  4. -rw-rw-r-- 1 mr mr 0 12 26 20:46 1
  5. -rw-rw-r-- 1 mr mr 0 12 26 20:46 2
  6. -rw-rw-r-- 1 mr mr 0 12 26 20:46 3
  7. -rw-rw-r-- 1 mr mr 0 12 26 20:46 4

看懂了? 看懂才怪了.

xargs的作用是把输出的内容当做参数传递给下一个命令, 比如:

  1. ls | xargs cat
  2. 11111
  3. 222
  4. 33333
  5. 444

ls的内容是当先文件夹下的文件, 然后xargs1 2 3 4这些ls输出的东西都传递给了cat,然后就是上面的效果啦.

我再把作者给的几个例子放到下面, 看聪明的你能不能知道他们是干什么用的呢? 记得不懂的地方问man哦.

  • find ~ -name ‘*.log’ -print0 | xargs -0 rm -f
  • find /etc -name "*.conf" | xargs ls –l
  • cat url-list.txt | xargs wget –c
  • find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
  • ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory