Vergleich der Effizienz verschiedener Methoden zum Löschen von Dateien in Linux

Vergleich der Effizienz verschiedener Methoden zum Löschen von Dateien in Linux

Testen Sie die Effizienz des Löschens einer großen Anzahl von Dateien unter Linux.

Erstellen Sie zunächst 500.000 Dateien

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

1. rm löschen

$ Zeit rm -f *
zsh: Möchten Sie wirklich alle Dateien in /home/hungerr/test [yn] löschen? y
zsh: Argumentliste zu lang: rm
rm -f * 3,63 s Benutzer 0,29 s System 98 % CPU 3,985 gesamt

rm funktioniert aufgrund der großen Anzahl an Dateien nicht.

2. Suchen und löschen

$ Zeit finden ./ -type f -exec rm {} \;
finde ./ -type f -exec rm {} \; 49,86 s Benutzer 1032,13 s System 41 % CPU 43:19,17 gesamt

Ungefähr 43 Minuten auf meinem Computer. . . . . . Ich habe es gelöscht, während ich das Video angesehen habe.

3. Suchen mit Löschen

$ Zeit finden ./ -Typ f -löschen
finden ./ -type f -delete 0,43 s Benutzer 11,21 s System 2 % CPU 9:13,38 gesamt

Es dauert 9 Minuten.

4. rsync löschen

# Erstellen Sie zunächst einen leeren Ordner blanktest
$ Zeit rsync -a --delete blanktest/ test/
rsync -a --delete blanktest/ test/ 0,59 s Benutzer 7,86 s System 51 % CPU 16,418 Gesamt 16 s

Sehr gut und kraftvoll.

5. Python löschen

Betriebssystem importieren
Zeit importieren
 
def main():  
  für Pfadnamen, Verzeichnisnamen, Dateinamen in os.walk('/home/Benutzername/test'):    
    für Dateinamen in Dateinamen:      
      Datei = os.path.join(Pfadname,Dateiname)      
      os.remove(Datei)     
wenn __name__ == '__main__':
t = Zeit.Timer('main()','von __main__ importiere main')
drucke t.timeit(1) 
 1
2
$ python test.py 529.309022903

Es dauert ungefähr 9 Minuten.

6. Perl löschen

$ Zeit perl -e 'für(<*>){((stat)[9]<(unlink))}'
perl -e 'for(<*>){((stat)[9]<(unlink))}' 1,28 s Benutzer 7,23 s System 50 % CPU 16,784 gesamt 16 s

Das sollte am schnellsten sein.

7. Ergebnisse:

  • rm: Zu viele Dateien zum Verwenden
  • Das Suchen mit -exec nach 500.000 Dateien dauerte 43 Minuten
  • Suchen mit -delete 9 Minuten
  • Perl 16sPython 9 Minuten
  • rsync mit -delete 16s

Fazit: rsync ist der schnellste und bequemste Weg, eine große Anzahl kleiner Dateien zu löschen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Problems, dass der Speicherplatz nach dem Löschen der Linux-Datei nicht freigegeben wird
  • Beispielanalyse von Linux-Dateiverwaltungsbefehlen [Berechtigungen, Erstellen, Löschen, Kopieren, Verschieben, Suchen usw.]
  • So gehen Sie mit dem Problem um, dass die Datei gelöscht wird, der Speicherplatz in Linux jedoch nicht freigegeben wird
  • Linux-Unlink-Funktion und wie man Dateien löscht
  • Linux implementiert geplante Sicherungen der MySQL-Datenbank und löscht Sicherungsdateien, die älter als 30 Tage sind
  • Linux sichert regelmäßig die MySQL-Datenbank und löscht vorherige Sicherungsdateien (empfohlen)
  • So löschen Sie Ordner, Dateien und Dekomprimierungsbefehle auf Linux-Servern
  • 5 Möglichkeiten zum Löschen oder Entfernen großer Dateiinhalte in Linux

<<:  V-Bind in Vue verstehen

>>:  Detaillierte Erklärung zur Verwendung von MySQL mysqldump

Artikel empfehlen

HTML-Code zum Hinzufügen von Symbolen zum transparenten Eingabefeld

Ich habe vor Kurzem eine Website mit Anwaltsempfe...

Überwachung sowie Betrieb und Wartung von Linux-Diensten

Inhaltsverzeichnis 1. Installieren Sie das psutil...

Detailliertes Tutorial zur Installation und Bereitstellung von Nginx Linux

1. Einführung in Nginx Nginx ist ein Webserver, d...

Vue implementiert Chat-Schnittstelle

In diesem Artikelbeispiel wird der spezifische Co...

Hinweise zum passenden MySql 8.0 und entsprechenden Treiberpaketen

MySql 8.0 entsprechendes Treiberpaket passend Nac...

Mysql-Optimierungstool (empfohlen)

Vorwort Als ich heute auf GitHub gestöbert habe, ...

So löschen Sie verstümmelte oder mit Sonderzeichen versehene Dateien in Linux

Aus Kodierungsgründen werden beim Hochladen oder ...

Docker unter Linux installieren (sehr einfache Installationsmethode)

Ich hatte in letzter Zeit ziemlich viel Zeit. Ich...

Zusammenfassung der Fallstricke beim Importieren von OVA-Dateien in VMware

Quelle des Problems Wie wir alle wissen, erzeugt ...

Zusammenfassung einiger gängiger Verwendungen von Refs in React

Inhaltsverzeichnis Was sind Refs 1. Referenzen vo...

Warum node.js nicht für große Projekte geeignet ist

Inhaltsverzeichnis Vorwort 1. Anwendungskomponent...

So analysieren Sie die Leistung von MySQL-Abfragen

Inhaltsverzeichnis Grundlagen langsamer Abfragen:...