首頁 > 運維 > linux運維 > 主體

linux刪除檔案的6種方法(總結)

ringa_lee
發布: 2017-06-23 11:46:33
原創
4587 人瀏覽過

先建立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 &#39;for(<*>){((stat)[9]<(unlink))}&#39;
perl -e &#39;for(<*>){((stat)[9]<(unlink))}&#39;  1.28s user 7.23s system 50% cpu 16.784 total
登入後複製


#

以上是linux刪除檔案的6種方法(總結)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!