GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Debian - Tausende von Dateien löschen

Das Löschen des Verzeichnisses sollte funktionieren. Sie könnten Probleme bekommen, wenn Sie versuchen, einzelne Dateien zu löschen, weil es so viele gibt. Sie führen rm -rf dirname/* nicht aus bist du?

Meine Vermutung ist, dass Sie die SSH-Verbindung aufgrund von Inaktivität verlieren. Sind Sie sicher, dass der Befehl auf dem Server nicht korrekt ausgeführt wurde?

In jedem Fall wäre ein möglicher Workaround die Verwendung von nohup:

nohup rm -rf dirname

Sie können den Befehl starten und sich abmelden, er wird im Hintergrund fortgesetzt.

UPDATE:

Ich habe diese Frage bei U&L.SE gefunden, ich empfehle Ihnen, sie sich anzusehen. Leider kann ich dein Problem nicht nachstellen. Ich habe ein Verzeichnis mit 2516007 Dateien erstellt und konnte es immer mit rm -rf löschen :

$ mkdir ha
$ for X in $(seq 1 10000);do touch {1..10000}_$X; done
$ ls -f ha | wc -l 
  2516007     <= I stopped before the for loop finished, but this should be enough
$ time rm -rf ha/
  real  23m11.695s
  user  0m3.540s
  sys           0m42.891s

Es dauerte also 20 Minuten, um ~2 Millionen leere Dateien zu löschen. Es scheint vernünftig, dass es Stunden dauern kann, eine riesige Menge nicht leerer Dateien zu löschen.

Wie auch immer, einige der Vorschläge aus der U &L-Frage sollten helfen. Speziell dieses hier:

find /delb -type f  --delete

oder dieses hier (leicht modifiziert vom Original)

find /delb -type f -print0 | xargs -0r rm -f

Schließlich ist ein Trick, den Sie tun könnten, ein paar Dateien gleichzeitig zu löschen. Wenn Sie wissen, dass einige Dateinamen mit der Zeichenfolge "foo", andere mit "bar" usw. beginnen, tun Sie dies:

rm -rf /delb/foo*
rm -rf /delb/bar*

usw. Sie könnten auch so etwas versuchen:

for n in {a..z}; do rm -rf /delb/$n*; done
for n in {A..Z}; do rm -rf /delb/$n*; done
for n in {0..9}; do rm -rf /delb/$n*; done

Dieser letzte Befehl löscht nacheinander jeden Dateinamen, der mit jedem Buchstaben des Alphabets beginnt, und dann alle Dateinamen, die mit Zahlen beginnen.


Linux
  1. 7zip-Datei:So dekomprimieren Sie 7z-Dateien unter Ubuntu, Debian, Fedora

  2. wc gzip-Dateien?

  3. gzip alle Dateien ohne sie zu löschen

  4. Ordnungsgemäßes Löschen von Dateien, die älter als 30 Tage sind

  5. Suchen und Löschen von Dateien mit einem bestimmten Datum

So finden Sie Dateien in Debian 10

So manipulieren Sie Dateien unter Debian 11

5 Möglichkeiten, Speicherplatz unter Debian 10 freizugeben

Wie man Protokolldateien in Debian 10 ansieht oder überwacht

So finden Sie Dateien in Debian

So löschen Sie Dateien sicher mit dem Shred-Befehl in Debian 11