So finden und löschen Sie Dateien unter Linux

So finden und löschen Sie Dateien unter Linux
In diesem Tutorial wird erklärt.

Nachdem Sie dieses Tutorial gelesen haben, wissen Sie, wie Sie die Aufgabe des Entfernens der Dateien in Linux mit verschiedenen Techniken vereinfachen können. Dieses Tutorial ist sowohl für neue als auch für erfahrene Benutzer optimiert, geht direkt an den praktischen Punkt und erklärt jeden Aspekt. Ich ermutige Sie, alle Beispiele zu praktizieren, um dieses Wissen einzubeziehen. Seien Sie einfach vorsichtig mit dem Inhalt, den Sie löschen.

Dieser Artikel enthält die Screenshots jedes Schritts, sodass alle Linux -Benutzer sie anwenden können.

Finden und Löschen von Dateien unter Linux

In diesem Abschnitt werden die verschiedenen Techniken erläutert, um die Dateien zu finden und sie im laufenden Flug mit einem einzigen Befehl oder mit Befehlskombinationen zu löschen.

Lassen Sie uns zunächst sehen, was sich im Heimverzeichnis befindet, indem wir die verwenden ls (Liste) Befehl.

ls

Wie Sie in der vorherigen Abbildung sehen können, gibt es mehrere Dateien und Verzeichnisse. Unter ihnen können wir das sehen 1.txt, 2.txt Und 3.txt.

Wir können den Befehl Find verwenden, gefolgt vom Dateityp, dem Dateinamen und dem -löschen Möglichkeit.

Im folgenden Beispiel werden wir jedoch nicht eine bestimmte Datei, sondern alle Dateien mit der “entfernen.txt ”Erweiterung.

finden . -Typ f -name "**.txt "-delete

Wo:

  • finden: Der Befehl find wird offensichtlich verwendet, um die Dateien zu durchsuchen.
  • . (Punkt): Der Punkt nach dem Befehl find gibt an, dass die Operation innerhalb des aktuellen Verzeichnisses durchgeführt werden muss. Unser Fall ist im Heimverzeichnis, daher ist dieser Punkt gleich /Heimanwender.
  • -Typ F: Diese Option gibt an, welche Dateien wir finden möchten. Wenn Sie die Verzeichnisse durchsuchen möchten, ersetzen Sie das F durch ein D.
  • -Name: Dies ist die Option zum Angeben des Datei-/Verzeichnisziels. Diese Option muss vor dem Datei-/Verzeichnisnamen eingegeben werden, um sie zu definieren.
  • **.txt": In diesem speziellen Fall suchen wir alle “.TXT ”-Dateien, die wir angeben, indem wir„* eingeben “.txt".
  • -löschen: Diese Option weist den Befehl zum Finden an, die gefundenen Dateien zu löschen.

Wie Sie im vorherigen Screenshot sehen können, nachdem Sie die ausgeführt haben ls Der Befehl erneut werden die TXT -Dateien nicht angezeigt. Sie wurden vom zuvor ausgeführten Befehl entfernt.

Natürlich können Sie die spezifischen Dateien wie in der folgenden Abbildung feststellen und löschen Datei3 wird gefunden und entfernt.

finden . -Geben Sie f -name Datei ein 3 -Delete ein

Wie in der vorherigen Befehls- und Optionsliste erläutert, müssen Sie die ersetzen, wenn Sie ein Verzeichnis und nicht eine Datei entfernen möchten F mit einem D nach dem -Typ Option wie im folgenden Bild gezeigt:

finden . -Geben Sie d -name Dir1 -Delete ein

Nehmen wir an, Sie möchten viele Dateien löschen, deren erster Teil ihrer Namen gleich ist. Im folgenden Screenshot können Sie die sehen Datei1, Datei2 Und Datei3.

Wenn Sie alle "Filex" -Dateien entfernen möchten, müssen Sie den Teil der Dateinamen nur ohne Übereinstimmung durch die Wildcard (*) ersetzen, wie im folgenden Beispiel gezeigt:

finden . -Geben Sie f -Name "Datei*" -Delete ein

Alle früheren Beispiele erläuterten, wie die Dateien mit den Dateien gelöscht werden können -löschen Möglichkeit. In diesem Abschnitt wird erläutert, wie das gleiche Ergebnis mit dem gleichen Ergebnis erzielt wird -Geschäftsführer Befehl.

Der erste Teil des folgenden Befehls wurde bereits zuvor erklärt. Mit dem Befehl incorporated -exec wird eine Aktion angewendet, die auf dem Ergebnis des vorherigen Befehls basiert.

finden . -Nennen Sie etwas.log "-exec rm -rf \;

Wo:

  • -Exec: Weist an, nach der ersten Befehlsausführung einen posterioren Befehl auszuführen.
  • rm -rf: Dieser Befehl wird verwendet, um das Entfernen von Dateien und Verzeichnissen zu erzwingen, die den angegebenen Namen entsprechen.
  • "": Dies ist das finden Befehlsplatzhalter, was bedeutet, dass die Datei- oder Verzeichnisnamen, die dem Befehl zum Finden angegeben sind, den angegebenen Befehl ausführen -Geschäftsführer) auf sie. Im vorherigen Beispiel, rm -rf wird auf den Platzhalter angewendet, der das darstellt "Protokoll
  • "\;": Der hintere Schrägstrich und das Semikolon schließen oder beendet das -Geschäftsführer

Lassen Sie uns nun ein neues Szenario mit dem Befehl LS erneut sehen. Wie Sie sehen können, gibt es verschiedene “.txt ”Dateien.

In diesem Fall werden wir die ersetzen -löschen Option mit dem -Geschäftsführer RM wieder um alles zu löschen “.txt ”Dateien wie im zweiten Beispiel dieses Dokuments, aber mit einer anderen Technik.

Sie können den Befehl in der dritten Zeile der folgenden Abbildung sehen. Der vorherige LS -Befehl zeigt die vorhandenen Dateien vor der Ausführung an finden, und das zweite LS zeigt das Ergebnis mit allen “.TXT ”-Dateien gelöscht.

finden . -Typ f -name "**.txt "-exec rm -f \;

Erstellen wir nun ein neues Szenario, das Sie im folgenden Beispiel sehen können. Dieses Szenario enthält mehrere “.txt ”und“.c Dateien “.

Nehmen wir an, Sie möchten beide entfernen möchten .txt Und .C Dateien gleichzeitig mit der Option -delete -Option anstelle der Option -exec verwenden. Wie Sie im folgenden Bild sehen können, befinden sich Namensdateien zwischen den \ ( Und \). Vor dem zweiten Dateinamen haben wir die Option, gefolgt von der -Name und der zweite Dateiname (oder Bedingung in diesem Fall, da wir alle löschen “.txt ”Dateien). Sie können die hinzufügen -o -name oft so, wie Sie brauchen, aber denken Sie daran, dass der erste -Name ist der nicht vorangegangen von der -Ö Möglichkeit.

finden . \( -Name "*.c "-o -name"*.txt "\) -delete

Wie Sie sehen können, beide .txt Und .C Dateien wurden erfolgreich entfernt.

Lassen Sie uns nun den Befehl Find mit dem Befehl Xargs kombinieren (erklärt am Ende dieses Tutorials).

Im folgenden Beispiel löschen wir alle “.txt ”Dateien mit xargs, wo -ICH ist der Platzhalter und zwischen % führen wir den Befehl aus.

Wie Sie sehen können, alle nach der zweiten LS -Ausführung alle .C Und .txt Dateien wurden entfernt.

finden *.txt -Typ f | xargs -i % rm " %"

Die Syntax zum Löschen vieler Dateien ist einfacher mit Xargs. Im folgenden Befehl beides .C Und .txt Dateien werden entfernt.

finden *.txt *.C -Typ F | xargs -i % rm " %"

Nehmen wir schließlich an, dass Sie die Dateien nach Datum und nicht mit Namen oder Erweiterung entfernen möchten. In diesem Fall kann der Befehl Find die Mime (Erstellung oder Änderungsdateidatum) der Dateien und Verzeichnisse identifizieren.

Im folgenden Bild können Sie die sehen Dir2 Verzeichnis, das 4 Dateien enthält: Datei1, Datei2, Datei3 Und Datei4. Alle Dateien innerhalb der Dir2 wurden in den letzten 24 Stunden erstellt.

Das Identifizieren der Dateien ist möglich mit der -mtime Option gefolgt vom Zeitintervall der Dateien. In diesem Fall die -1 Die Option gibt 1 Tag, 24 Stunden an. Der -1 bedeutet, dass die Dateien am letzten Tag erstellt oder geändert werden +1 bedeutet die Dateien, die vor mehr als einem Tag erstellt oder geändert wurden.

Im folgenden Beispiel verwenden wir den Befehl Find mit der Option -mtime, um die Dateien zu entfernen, die am letzten Tag erstellt oder geändert wurden.

Finden Sie Dir2 -Typ F -Mime -1 -delete

xargs vs -exec

Der Xargs Der Befehl wird fast immer mit Rohren implementiert (aber nicht unbedingt), um den ersten Befehl als Argument zu verwenden. Im Gegensatz zu Pipe ermöglicht es die Verwendung des ersten Befehls als Argument und nicht nur als früherer Ausgangs- oder Vorgängerbefehl.

Das folgende Beispiel in diesem Abschnitt listet die Dateien und Verzeichnisse mit dem auf ls (Liste) Befehl und verschiebt die aufgeführten Dateien in ein anderes Verzeichnis mit MV Und Xargs Befehle. Dies ist nicht die richtige Methode, um die Dateien zu verschieben, aber es ist nützlich als Beispiel zu zeigen, wie die Xargs Befehlsarbeiten.

Schauen Sie sich zunächst einen Blick auf meinen LinuxHintdir Verzeichnis. Wie Sie sehen können, haben wir 3 Dateien: Datei1, Datei2 Und Datei3.

LS DIR1 DIR2

Verschieben wir nun alle Dateien innerhalb Dir1 Zu Dir2 Verwendung der MV Befehl.

ls ~/dir1/* | xargs mv -t ~/dir2

Wie Sie sehen können, wurde das Ergebnis ls ~/dir1/* verabschiedet Xargs nach dem MV Befehl.

Der -Geschäftsführer Befehl ist ähnlich wie Xargs. Es kann Befehle basierend auf der Ausgabe des ersten Befehls ausführen. Im Gegensatz zu Xargs, -Geschäftsführer führt den Befehl jedes Mal aus, wenn eine Datei mit der Bedingung übereinstimmt. Wenn wir den Befehl -exec verwenden, um die Dateien zu entfernen, wird diese Datei per Datei entfernt. Während Xargs den Befehl für alle angepassten Dateien gleichzeitig ausführt. Das macht Xargs ein bisschen schneller als -exec. Wenn Sie also mit vielen Dateien zu tun haben, wäre Xargs bequem -Geschäftsführer.

Abschluss

Linux hat viele Methoden, um dieselbe Aufgabe zu erreichen. Das Finden und Entfernen der Dateien mit einem einzigen Befehl ist ein Wissen, dass jeder Linux -Benutzer unabhängig von seiner Erfahrung haben sollte. Dieses Tutorial konzentriert sich auf das Finden und Löschen der Dateien, aber Xargs und -exec können mit vielen Linux -Befehlen verwendet werden. Es ist wichtig zu erwähnen, dass einige Funktionen nur in der verfügbar sind finden Ausführung. Die meisten erklärten Tipps sind für fast jede Linux -Verteilung nützlich.

Vielen Dank, dass Sie dieses Tutorial gelesen haben, um zu erklären, wie Sie die Dateien unter Linux finden und löschen können. Folgen Sie uns weiter für professionelle Tipps.