Website-Suche

Wie man Dateien löscht, die größer oder kleiner als X Größe in Linux sind


Haben Sie ein Linux-System, das von Dateien überquillt? Vielleicht verstopfen alte Dokumente oder Überreste früherer Projekte Ihren Speicher. Dieser Leitfaden zeigt Ihnen, wie Sie effizient Dateien finden und Dateien löschen, die größer oder kleiner als X Größe sind in Linux.

Wir werden die Verwendung des find-Befehls erkunden, um unerwünschte Dateien basierend auf ihrer Größe zu entfernen, was Ihnen hilft, wertvollen Speicherplatz zurückzugewinnen. Lassen Sie uns anfangen!

Da wir es mit dem Löschen von Dateien zu tun haben, wird dringend empfohlen, einen sicheren Ansatz zu verfolgen. Stellen Sie, wenn möglich, sicher, dass Sie eine Sicherungskopie der Daten haben. Sie hilft Ihnen, Dateien nach versehentlichem Löschen wiederherzustellen.

Dateien nach Größe auflisten

Für einen sichereren Ansatz können Sie die Option -print mit dem find-Befehl verwenden, um die Dateien aufzulisten, anstatt sie zuerst zu löschen. Dies wird alle Dateien auflisten, die gelöscht würden, ohne sie tatsächlich zu löschen.

Um beispielsweise .doc-Dateien kleiner als 5 MB im aktuellen Verzeichnis aufzulisten, würden Sie Folgendes verwenden:

$ find . -type f -name "*.doc" -size -5M -print

Erklärung des Befehls:

  • find: Dies ist der Befehl, der verwendet wird, um Dateien basierend auf verschiedenen Kriterien zu finden.
  • .: Dies gibt das Startverzeichnis für die Suche an. In diesem Fall beginnt es im aktuellen Verzeichnis und durchsucht rekursiv die Unterverzeichnisse (dargestellt durch den Punkt).
  • -type f: Diese Option sagt find, nur nach regulären Dateien (nicht nach Verzeichnissen) zu suchen.
  • -name "*.doc": Mit dieser Option werden die Suchergebnisse auf Dateien mit der Namensendung .doc beschränkt.
  • -size -5M: Diese Option verwendet den -size-Operator, um Dateien nach ihrer Größe zu filtern. Das -5M gibt eine maximale Größe von 5 Megabyte an. Dateien, die größer als 5M sind, werden ausgeschlossen.
  • -print: Diese Option weist find an, alle Dateien aufzulisten, die den angegebenen Kriterien entsprechen.

Wenn Sie Dateien in anderen Verzeichnissen auflisten möchten, ersetzen Sie einfach den . durch den /Pfad/zu/Ihrem/Verzeichnis im obigen Befehl.

Ähnlich, um alle .doc-Dateien anzuzeigen, die größer als X Größe sind (z.B. 5 MB), wäre der Befehl:

$ find . -type f -name "*.doc" -size +5M -print

Bitte achten Sie auf das Pluszeichen (+) beim -size-Operator im obigen Befehl.

Im find-Befehl mit dem -size-Operator definieren die -- und +-Zeichen, ob die Dateigröße kleiner als oder größer als ein bestimmter Wert ist.

  • -size -<number>: Dies sucht nach Dateien mit einer Größe weniger alsdie angegebene <number>.
  • -size +<number>: Dies sucht nach Dateien mit einer Größe größer als die angegebene <number>.

In unserem vorherigen Beispiel findet -size -5M Dateien, die kleiner als 5 Megabyte sind. Im späteren Beispiel findet -size +5M Dateien, die größer als 5 Megabyte sind.

Denken Sie daran, dass die <number> in verschiedenen Einheiten wie G (Gigabyte), M (Megabyte), K (Kilobyte) oder sogar c (Bytes) je nach Ihren Bedürfnissen angegeben werden kann.

Hier sind einige Beispiele dafür, wie Sie verschiedene Einheiten mit dem -size-Operator im find-Befehl angeben können:

Um Dateien zu finden, die kleiner als 10 Kilobyte sind, führen Sie aus:

find . -type f -size -10k

Finde Dateien, die größer als 2 Gigabyte sind:

find . -type f -size +2G

Finde Dateien, die genau 500 Bytes groß sind:

find . -type f -size 500c

Wie Sie sehen können, können Sie je nach dem Größenbereich, an dem Sie interessiert sind, verschiedene Einheiten (K, M, G, c) verwenden.

Sobald Sie die Liste überprüft haben, können Sie denselben Befehl mit -delete ausführen, um die tatsächliche Löschung wie im folgenden Abschnitt gezeigt durchzuführen.

Dateien löschen, die größer oder kleiner als X Größe sind

Wie bereits erwähnt, können Sie die +- oder --Zeichen mit dem -size-Operator verwenden, um festzulegen, ob die Dateigröße größer als oder kleiner als ein bestimmter Wert ist.

Zuerst werden wir sehen, wie man Dateien findet und entfernt, die kleiner als eine bestimmte Größe sind.

Wichtig:

  • Die folgenden Befehle werden die Dateien dauerhaft löschen. Stellen Sie sicher, dass Sie bei Bedarf eine Sicherungskopie haben.
  • Überprüfen Sie den Verzeichnispfad doppelt, bevor Sie den Befehl ausführen. Sie können . bei Bedarf durch den spezifischen Verzeichnispfad ersetzen.
  • Testen Sie den Befehl zuerst an einer kleinen Probe von Dateien (vielleicht in einem separaten Ordner), um sicherzustellen, dass er wie erwartet funktioniert, bevor Sie ihn auf Ihre gesamte Ordnerstruktur anwenden.
  • Außerdem könnten Sie in Betracht ziehen, die Option --dry-run mit dem Befehl find zu verwenden, um die Löschung zu simulieren, ohne die Dateien tatsächlich zu entfernen, was Ihnen helfen kann, die Ergebnisse zu überprüfen, bevor Sie den endgültigen Befehl ausführen.

Dateien entfernen, die kleiner als eine bestimmte Größe sind

Um alle .doc-Dateien zu finden und zu löschen, die kleiner als 5 MB in Ihrem aktuellen Verzeichnis sind, während die Verzeichnisstruktur intakt bleibt und größere Dateien ausgeschlossen werden, führen Sie folgenden Befehl aus:

$ find . -type f -name "*.doc" -size -5M -delete

Hier ist eine Aufschlüsselung dessen, was dieser Befehl macht:

  1. find . -type f: Dieser Teil des Befehls sucht nach allen Dateien (nicht Verzeichnissen) im aktuellen Verzeichnis und in seinen Unterverzeichnissen.
  2. -name "*.doc": Dieser Teil des Befehls filtert die Suche so, dass nur Dateien mit der .doc-Erweiterung einbezogen werden.
  3. -size -5M: Dieser Teil des Befehls filtert die Suche weiter, um nur Dateien einzuschließen, die kleiner als 5 MB sind.
  4. -delete: Dieser Teil des Befehls löscht tatsächlich die Dateien, die den vorherigen Kriterien entsprechen, ohne den Benutzer um Bestätigung zu bitten.

Dateien entfernen, die größer als eine bestimmte Größe sind

Ähnlich können Sie .doc-Dateien, die größer als die angegebene Größe sind (z. B. 5 MB), mit folgendem Befehl finden und löschen:

$ find . -type f -name "*.doc" -size +5M -delete

Im obigen Beispiel finden und entfernen wir alle .doc-Dateien, die größer als 5 MB sind.

Alternative Befehle zum Löschen von Dateien basierend auf der Größe

Die Vielseitigkeit der Linux-Befehlszeile ist wirklich einer der Gründe, warum viele Benutzer, von Anfängern bis zu Fortgeschrittenen, das Linux-Betriebssystem als leistungsstark für ihre Bedürfnisse empfinden.

Wir können die folgenden Varianten des find-Befehls verwenden, um Dateien zu finden und zu entfernen, die kleiner oder größer als die angegebene Größe sind.

Schauen Sie sich das folgende Beispiel an:

Um alle kleinen .doc-Dateien zu löschen, ohne die größeren Dateien zu löschen und die Verzeichnisstruktur beizubehalten, können Sie unter Linux den folgenden Befehlszeilenansatz verwenden:

$ find . -type f -name "*.doc" -size -5M -exec rm {} \;

Dieser Befehl löscht alle kleinen .doc-Dateien, während die größeren .doc, .docx, .xlsx und PDF-Dateien erhalten bleiben und die Verzeichnisstruktur beibehalten wird.

So funktioniert der Befehl:

  1. find . -type f -name "*.doc" -size -5M: Dieser Teil des Befehls sucht nach allen Dateien (nicht Verzeichnissen) mit der Erweiterung .doc und einer Größe von weniger als 5MB (-size -5M) im aktuellen Verzeichnis und seinen Unterverzeichnissen.
  2. -exec rm {} \;: Dieser Teil des Befehls führt den rm (entfernen) Befehl für jede gefundene Datei aus und löscht die kleinen .doc Dateien.

Und hier ist eine Aufschlüsselung der verschiedenen im Befehl verwendeten Optionen:

  • find .: Startet die Suche im aktuellen Verzeichnis und seinen Unterverzeichnissen.
  • -type f: Gibt an, dass wir nach Dateien suchen, nicht nach Verzeichnissen.
  • -name "*.doc": Sucht nach Dateien mit der Endung .doc.
  • -size -5M: Sucht nach Dateien, die kleiner als 5 MB sind.
  • -exec rm {} \;: Führt den rm-Befehl aus, um jede gefundene Datei zu löschen.

Sie können -5M in dem obigen Befehl durch +5M ersetzen, um Dateien zu finden und zu löschen, die größer als 5 MB sind.

Der Hauptunterschied zwischen dem oben genannten Befehl und demjenigen, den ich im vorherigen Abschnitt bereitgestellt habe, besteht darin, dass diese Version den Teil -exec rm {} \; verwendet, um den rm-Befehl für jede gefundene Datei auszuführen, während die frühere Version die Option -delete verwendet, die die Dateien direkt löscht, ohne dass ein separater rm-Befehl erforderlich ist.

Beide Befehle erreichen dasselbe Ergebnis – sie löschen alle kleinen .doc-Dateien, während die größeren Dateien und die Verzeichnisstruktur erhalten bleiben. Die Wahl zwischen den beiden Befehlen ist hauptsächlich eine Frage der persönlichen Vorliebe und des spezifischen Anwendungsfalls.

Löschen für jede Datei bestätigen

Sie können auch die Option -i mit dem Befehl rm für zusätzliche Sicherheit hinzufügen:

$ find . -type f -name "*.doc" -size -5M -exec rm -i {} \;

Die -i-Option im rm-Befehl fordert den Benutzer auf, die Löschung jeder Datei zu bestätigen. Das bedeutet, dass der Befehl die Dateien nicht automatisch löscht, sondern Sie auffordert, die Löschung jeder Datei zu bestätigen.

Der Zweck dieses Befehls besteht darin, eine zusätzliche Sicherheits- und Kontrollschicht beim Löschen von Dateien bereitzustellen. Durch die Verwendung der Option -i können Sie jede Datei überprüfen, bevor sie gelöscht wird, wodurch das Risiko verringert wird, versehentlich etwas zu entfernen, das Sie nicht beabsichtigt haben.

Dieser Ansatz ist nützlich, wenn Sie besonders vorsichtig mit den Dateien sein möchten, die Sie löschen, oder wenn Sie sich nicht ganz sicher über den Inhalt der .doc-Dateien sind. Die interaktiven Eingabeaufforderungen geben Ihnen die Möglichkeit, jede Datei noch einmal zu überprüfen und die Löschung zu bestätigen.

Beachten Sie, dass die interaktive Natur dieses Befehls den Vorgang etwas zeitaufwändiger macht, da Sie auf die Eingabeaufforderung für jede Datei reagieren müssen.

Ich empfehle Ihnen erneut dringend, den Befehl zuerst an einem kleinen Teil Ihrer Dateien zu testen, um sicherzustellen, dass er wie erwartet funktioniert, bevor Sie ihn auf die gesamte Ordnerstruktur anwenden.

Beste Praktiken zum Löschen von Dateien in Linux

Hier sind einige bewährte Methoden zum Löschen von Dateien nach Größe unter Linux:

  1. Klein anfangen, oft testen: Springen Sie nicht sofort ins Löschen aller Dateien! Verwenden Sie zuerst den find-Befehl mit der -print-Option. Dies zeigt Ihnen eine Liste von Dateien, die gelöscht würden, sodass Sie vor dem Handeln noch einmal überprüfen können.
  2. Zielgerichtete Größen: Konzentrieren Sie sich auf die Dateigrößen, die Sie entfernen möchten. Der find-Befehl mit dem -size-Operator ermöglicht es Ihnen, Dateien zu finden, die größer als ( + ) oder kleiner als ( - ) ein bestimmter Wert sind (z. B. Löschen von Dateien größer als 5 Megabyte: -size +5M ).
  3. Kennen Sie Ihre Dateien: Stellen Sie sicher, dass Sie verstehen, welche Art von Dateien Sie löschen. Entfernen Sie nicht versehentlich Systemdateien oder wichtige Daten. Wenn Sie unsicher sind, überspringen Sie eine Datei oder recherchieren Sie sie weiter.
  4. Backups in Betracht ziehen: Wenn die Möglichkeit besteht, dass Sie die Dateien später benötigen, erstellen Sie ein Backup, bevor Sie sie löschen.
  5. Vorsichtig löschen: Die -delete-Option im find-Befehl ist dauerhaft. Verwenden Sie sie nur, nachdem Sie die aufgelisteten Dateien mit -print gründlich überprüft haben.
  6. Fokus auf unnötige Dateien: Diese Methode ist ideal, um alte Dokumente, temporäre Dateien oder veraltete Projektüberreste zu bereinigen. Sie hilft, wertvollen Speicherplatz für das freizugeben, was Sie wirklich benötigen.

Indem Sie diese Praktiken befolgen, können Sie Ihren Speicherplatz in Linux effektiv verwalten, indem Sie unerwünschte Dateien nach Größe löschen, während Sie Ihr System organisiert und Ihre Daten sicher halten.

Fazit

Die Linux-Befehlszeile bietet flexible Werkzeuge zum Löschen von Dateien basierend auf der Größe. Der find-Befehl ermöglicht es Ihnen, nach Dateien zu suchen, die bestimmten Kriterien entsprechen, wie Dateierweiterung und Größe.

Sie können dann entweder die Option -delete oder den Befehl rm verwenden, um diese Dateien zu löschen, entweder automatisch oder mit interaktiver Bestätigung.

Die interaktive rm -i-Option fügt eine zusätzliche Sicherheitsebene hinzu, indem sie Sie vor jeder Löschung zur Bestätigung auffordert. Dies ist nützlich, wenn Sie die Dateien vor dem Entfernen genau überprüfen möchten.

Welche Methode Sie auch wählen, bewahren Sie immer ein Backup Ihrer Daten auf. Dies stellt sicher, dass Sie versehentlich gelöschte Dateien wiederherstellen können.

Verwandte Lektüre:

  • Wie man Dateien findet, die größer oder kleiner als X Größe in Linux sind
  • Wie man Dateien findet und löscht, die älter als X Tage in Linux sind
  • So finden und löschen Sie Dateien, die einen bestimmten Text in ihren Namen in Linux enthalten
  • Dateien löschen, die auf Linux seit einer bestimmten Zeit nicht mehr aufgerufen wurden
  • Autotrash – Ein CLI-Tool zum automatischen Löschen alter Papierkorbdateien
  • Trash-cli: Ein Kommandozeilen-Mülleimer für Unix-ähnliche Systeme
  • Finde und lösche die älteste Datei, wenn mehr als X Dateien in einem Verzeichnis vorhanden sind
  • So finden und entfernen Sie ungenutzte Pakete in Linux
  • So bereinigen Sie Junk-Dateien in Ubuntu mit Ubuntu Cleaner
  • Verhindern Sie das versehentliche Löschen oder Ändern von Dateien und Ordnern in Linux
  • Eine einfache Möglichkeit, Dateien in Linux vor versehentlichem Löschen zu schützen
  • Wie man seine Daten unter Linux sicher und dauerhaft löscht