rm命令执行的时候,报错 “-bash: /bin/rm: Argument list too long”
其实意思是文件数量过多。
删除文件中包含的小文件数量过多,通常是由于受到 shell 参数个数限制所致。
这个是Linux系统存在的限制,可以通过如下指令查看该参数值的配置:
getconf ARG_MAX
我们这个时候可以用几种方式都可以的。
1.进入目录后,结合awk来删除。
ls -l| awk '{ print "rm -f ",$9}'|sh
2.进入目录后,结合xargs来删除。
ls | xargs -n 10 rm -rf
3.结合find来删除。
find /var/log/ -name "*.log" |xargs rm -rf 4.自定义脚本删除。 #!/bin/bash # 此处经过 DIR 指定待处理文件所在的目录 DIR='/var/log' #待删除目录 cd $DIR for I in `ls` do #读取ls结果中的各个文件名进行强制删除 rm -f $I done