Heim > Artikel > Betrieb und Instandhaltung > 6 Möglichkeiten, Dateien unter Linux zu löschen (Zusammenfassung)
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 'for(<*>){((stat)[9]<(unlink))}' perl -e 'for(<*>){((stat)[9]<(unlink))}' 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!