xargs,exec都是命令传递的过滤器,捕捉前面一个命令的结果,并将其传递到后一个命令。简单点说:
做了一个小实验,统计整个Linux系统,文件大小在1k,10k,100k之上的文件,将其列出来:
[root@linux ~]# time -p find / -size +100k | xargs ls -lart {} \; real 7.29 user 1.31 sys 6.89 [root@nas2ds1 boot]# time -p find / -size +100k -exec ls -lart {} \; real 31.00 user 6.06 sys 20.88
[root@linux ~]# time -p find / -size +10k | xargs ls -lart {} \; real 12.43 user 3.96 sys 8.99 [root@linux ~]# time -p find / -size +10k -exec ls -lart {} \; real 105.14 user 20.38 sys 67.65
[root@linux ~]# time -p find / -size +1k | xargs ls -lart {} \; real 28.62 user 5.72 sys 24.01 [root@linux ~]# time -p find / -size +1k -exec ls -lart {} \; real 703.89 user 129.08 sys 456.97Note:
原文地址:http://blog.csdn.net/jerry_1126/article/details/38678045