簡體   English   中英

遞歸刪除給定路徑中所有文件和文件夾的絕對最快方法。 Linux

[英]Absolute fastest way to recursively delete all files and folders in a given path. Linux

我正在尋找在包含數百萬個文件和數千個文件夾的路徑上執行 unlink 和 rmdir 命令的絕對最快的方法。

我發現以下 perl 一行,但這不會遞歸並且還在每次取消鏈接之前執行統計(這是不必要的):

perl -e 'for(<*>){((stat)[9]<(unlink))}'

無論哪種方式都不會產生太大差異 - CPU 速度快,磁盤速度慢。 大多數工作——不管你怎么做——將是遍歷和取消鏈接系統調用。

沒有真正的方法可以加快速度(好吧,可能只是初始化/快速格式化您的磁盤並重新開始)。

我能夠找到的遞歸刪除所有文件和文件夾的最快方法是:

perl -le 'use File::Find; find(sub{unlink if -f}, ".")' && rm -rf *

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM