ls | grep -v test.txt | xargs rm -fr还是简单解释哈, ls列出当前目录下的所有文件(不包括以 . 开头的隐含文件),然后是管道( |)传给过滤器,然后通过过滤器 grep -v( -v表示反检索,只显示不匹配的行,类似 windows下的反选,注意是小写的 v),然后再是管道( |)传给 xargs( xargs是给命令传递参数的一个过滤器),到这儿也就说, xargs会把前面管道传来输入作为后面 rm -fr命令执行的参数。假设当前目录下有 a.jpg, b.gif, c.txt, test.txt这几个文件,那么也就是最后执行的命令是:
rm -fr a.jpg b.gif c.txt