linux刪除文件的6種方法(總結)

首先建立50萬個文件:

test??for?i?in?$(seq?1?500000)  for>?do  for>?echo?test?>>$i.txt  for>?done

1.rm

test??time?rm?-f?*  zsh:?sure?you?want?to?delete?all?the?files?in?/home/hungerr/test?[yn]??y  zsh:?argument?list?too?long:?rm  rm?-f?*??3.63s?user?0.29s?system?98%?cpu?3.985?total

由于文件數量過多,rm不起作用。

2.find

?test??time?find?./?-type?f?-exec?rm?{}?;  find?./?-type?f?-exec?rm?{}?;??49.86s?user?1032.13s?system?41%?cpu?43:19.17?total

大概43分鐘。

3.find with delete

?test??time?find?./?-type?f?-delete???????  find?./?-type?f?-delete??0.43s?user?11.21s?system?2%?cpu?9:13.38?total

用時9分鐘。

4.rsync
首先建立空文件夾blanktest

?~??time?rsync?-a?--delete?blanktest/?test/  rsync?-a?--delete?blanktest/?test/??0.59s?user?7.86s?system?51%?cpu?16.418?total

16s,很好很強大。

5.Python

import?os  import?time  stime=time.time()  for?pathname,dirnames,filenames?in?os.walk('/home/username/test'):  ?????for?filename?in?filenames:  ?????????file=os.path.join(pathname,filename)  ?????????os.remove(file)  ?ftime=time.time()  ?print?ftime-stime
?~??python?test.py  494.272291183

大概用時8分鐘。

6.Perl

?test??time?perl?-e?'for(){((stat)[9]){((stat)[9]

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享