ホームページ >運用・保守 >Linuxの運用と保守 >Linuxでファイルを削除する6つの方法(まとめ)

Linuxでファイルを削除する6つの方法(まとめ)

ringa_lee
ringa_leeオリジナル
2017-06-23 11:46:334605ブラウズ

最初に 500,000 個のファイルを作成します:

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.削除で探す

 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
rree

所要時間は約8分です。

6.Perl

 ~  python test.py
494.272291183


以上がLinuxでファイルを削除する6つの方法(まとめ)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。