无法在Linux中一次删除大量文件

Viv*_*rma 5 linux bash logging

我已经从这些日志文件夹中运行了以下命令。但看起来每个文件夹都需要无限的时间。

找 。-type f -exec rm -v {} \;

rwxrwxr-x  2 root     root      77881344 Mar 16 03:06 logs.123  
drwxrwxr-x  2 root     root     105709568 Nov 14 20:09 logs_15Nov2011  
drwxrwxr-x  2 root     root       6852608 Aug  1  2011 logs2  
drwxrwxr-x  2 root     root     286191616 Nov  2 08:40 logs_2Nov  
drwxrwxr-x  2 root     root      25206784 Nov 10 04:04 logs_del  
drwxrwxr-x  4 root     root       2686976 Oct  6 01:56 logs_delete  
drwxrwxr-x  2 root     root          4096 May 11  2011 logsMay112011  
drwxrwxr-x  2 root     root      69087232 Aug 29  2011 logs_old  
drwxrwxr-x  7 root     root     382480384 May  9  2011 logs.old905  
drwxrwxr-x  2 root     root          4096 May 11  2011 logsTR1218
Run Code Online (Sandbox Code Playgroud)

有没有比这更好更快的建议来删除所有这些日志?

ada*_*ptr 6

GNU find 有 -delete 选项,它总是安全的:

find . -type -f -delete
Run Code Online (Sandbox Code Playgroud)

正如其他地方所评论的,您也可以使用 xargs,但要非常小心使用它。

find . -type f -print0 | xargs -0 rm -vf
Run Code Online (Sandbox Code Playgroud)


mar*_*coc 1

如果您可以管理 rm 删除目录失败时出现的许多错误,则可以从另一个方面解决问题

for dir in $(find . -type d)
do
  rm $dir/*
done
Run Code Online (Sandbox Code Playgroud)