Heim  >  Artikel  >  Betrieb und Instandhaltung  >  6 Möglichkeiten, Dateien unter Linux zu löschen (Zusammenfassung)

6 Möglichkeiten, Dateien unter Linux zu löschen (Zusammenfassung)

ringa_lee
ringa_leeOriginal
2017-06-23 11:46:334597Durchsuche

Erstellen Sie zunächst 500.000 Dateien:

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

Aufgrund zu vieler Dateien funktioniert rm nicht.

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

Ungefähr 43 Minuten.

3.Suchen mit Löschen

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

dauert 9 Minuten.

4.rsync
Erstellen Sie zunächst einen leeren Ordner blanktest

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

16s, sehr gut und leistungsstark.

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

Es dauert etwa 8 Minuten.

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


Das obige ist der detaillierte Inhalt von6 Möglichkeiten, Dateien unter Linux zu löschen (Zusammenfassung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn