我正在尝试使用以下命令删除 linux 下单个目录中的大约十亿个文件:
# rm /test/*.mp3
但是这条消息的执行是错误的:
-bash: /bin/rm: Argument list too long
我怎么解决这个问题?
我正在尝试使用以下命令删除 linux 下单个目录中的大约十亿个文件:
# rm /test/*.mp3
但是这条消息的执行是错误的:
-bash: /bin/rm: Argument list too long
我怎么解决这个问题?
我经常使用某种形式的东西
find /test/ -name '*.mp3' -delete
这允许依次处理每个文件,而不是试图将所有文件作为 rm 命令的参数列出的 glob。
xargs
通常很聪明地生成合理大小的参数列表;尝试
ls -1 /test/*.mp3 | xargs rm
这将参数批处理在一起,但避免创建太长而无法处理的命令调用。
试试这个(我在 iPad 上但经常使用 Linux)
从 /,执行
# rm -rf test
另一个流行的最爱是“ find temp -name "*.mp3" -exec rm {} \;
”