这种情况主要在大批量删除居多文件的情况下发生,也是因为删除的命令参数超过了shell参数的个数导致的,可以通过getconf ARG_MAX
来确认,解决方法好几种
可以通过find和xargs命令配合的方式,比如删除当前目录所有的png文件,
$ find . -name "*.png" -print0 | xargs -0 rm
上面的这个命令会删除当前目录及子目录下所有的png文件,如果不想遍历,仅仅是当前目录,可以采用如下的方式:
$ find . -maxdepth 1 -name "*.png" -print0 | xargs -0 rm
还有一种方法是使用如下:
$ find . -name "*.png" -delete
切记,需要再三确认。