但目录里面文件过多用 rm 报bash: /usr/bin/rm: Argument list too long错时怎么办:
看看以下操作记录
root@mcu:/# cd /tmp
root@mcu:/tmp# rm -f /tmp/chunk*
bash: /usr/bin/rm: Argument list too long
root@mcu:/tmp# rm -rf /tmp/chunk*
bash: /usr/bin/rm: Argument list too long
root@mcu:/tmp# ls /tmp/chunk*|rm -f
bash: /usr/bin/ls: Argument list too long
root@mcu:/tmp# ls /tmp/chunk*|xarg rm -f
bash: xarg: command not found
bash: /usr/bin/ls: Argument list too long
root@mcu:/tmp# ls /tmp/chunk*|xargs rm -f
bash: /usr/bin/ls: A# lsrgument list too long
root@mcu:/tmp# ls /tmp/|grep chunk|xargs rm -f
root@mcu:/tmp# ls
可以了
文件多了主要是*传给rm会把文件名都传给rm 所以报参数太多,解决办法就是不要用通配符*,再配合grep过滤后删除就行了:
ls /tmp/|grep chunk|xargs rm -f