Linux删除文件出现/bin/rm: Argument list too long解决方法

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注