【发布时间】:2015-10-16 10:37:16
【问题描述】:
我在 linux 中有一个目录,它有几十万个文件,大约 100 Gb。我尝试使用'rm -f *'清除目录,并得到以下错误:
>rm -f *
-ksh: rm: /bin/rm: cannot execute [Argument list too long]
当我尝试 find 命令时,我得到了同样的错误。如果我能得到足够小的表达式,我可以删除单个文件和组,但这可能需要几天时间才能将它们全部清除。有谁知道清空大目录的更好方法吗?
【问题讨论】:
-
文件名有规律吗?所以你可以编写一个脚本来迭代它们。您可以编写脚本将它们分组删除,即使它们没有。
-
实际上,通常最好删除整个目录 (
rm -rf dir) 并重新创建它,而不是清空它。 -
这是一个重复的,我在发布之前搜索时没有找到那个问题。我将尝试该线程中的 -xargs 建议。
标签: linux delete-file