So verwenden Sie XARGs mit Find unter Linux

So verwenden Sie XARGs mit Find unter Linux
In diesem Tutorial wird erläutert.

Nachdem Sie dieses Tutorial gelesen haben, können Sie Dateien mit dem Befehl Suchen suchen und einen bestimmten Befehl basierend auf übereinstimmenden Ergebnissen ausführen.

Anweisungen und Beispiele sind für die meisten Linux -Verteilungen hilfreich. Der Inhalt wird sowohl für neue als auch für erfahrene Linux -Benutzer optimiert.

Alle in diesem Artikel beschriebenen Schritte enthalten Screenshots, damit alle Linux -Benutzer sie verstehen und anwenden können.

In diesem Artikel enthaltene Verwendungsbeispiele sind Folgendes:

  • Finden und löschen Sie Dateien nach Erweiterung (Dateityp).
  • Finden und löschen Sie Dateien mit Namen.
  • Finden und ändern Sie Dateiberechtigungen basierend auf den aktuellen Berechtigungen.

Kurze Einführung, um Befehle zu finden und Xargs

Der Xargs Befehl, in Kombination mit anderen Befehlen wie finden, Verwendet die Ausgabe des ersten Befehls als Argument.

Lassen Sie uns zum Beispiel die ausführen finden Befehl zum Identifizieren von Dateien mit einer bestimmten Erweiterung oder einem bestimmten Dateityp. Wir können das hinzufügen Xargs Befehl zum Ausführen einer Aktion für alle Dateien, die mit der angegebenen Erweiterung übereinstimmen finden.

Wie Sie in der folgenden Zeile sehen können, trennt ein Pipe den Befehl 1 und den Befehl 2, wobei der Befehl 1 jeder Befehl wie ls, und Befehl 2, einschließlich des Xargs -Befehls, gefolgt von einer bestimmten Aktion wie Katze.

[Befehl 1] | [Befehl 2]

Das anwendbare Beispiel wäre:

ls | Xargs Cat

In diesem Befehl werden alle Dateien im aktuellen Verzeichnis aufgeführt. Dann wird die Ausgabe (aufgelistete Dateien) von Xargs als Argument verwendet, und deren Inhalt wird wie angewiesen von von angewiesenen gedruckt Xargs Cat. Siehe folgende Screenshot:

So finden und verschieben Sie Dateien mit XARGs

In dem ersten Abschnitt dieses Tutorials wird erläutert.

Beginnen wir damit Xargs.

Vor Beginn führen Sie die aus ls Befehl zum Anzeigen von Dateien und Verzeichnissen in meinem benannten Unterverzeichnis testdir.

ls

Wie Sie sehen können, gibt es verschiedene Dateitypen, einschließlich .txt, .C, und Dateien ohne Erweiterungen. Achten Sie auch auf die TutoriaLdir Verzeichnis.

Nehmen wir an, Sie möchten Dateien mit einer bestimmten Erweiterung in ein Verzeichnis verschieben. Die Syntax ist Folgendes:

finden -Name '*.'-typ f | xargs mv -t

In der vorherigen Syntax die -Name Die Option geht dem Dateinamen oder der Bedingung basierend auf dem Dateinamen voraus. Der -Typ f Die Option gibt an, dass der Befehl Find mit Dateien und nicht mit Verzeichnissen befasst. Der -T Die Option vor dem Zielverzeichnis wird verwendet, um das Zielverzeichnis zu definieren. Achten Sie auf die Wildcard (*) vor der Erweiterung und wenden Sie den Befehl an, alle Dateien der angegebenen Erweiterung unabhängig vom Namen zu durchsuchen.

Wenn Sie also alle bewegen wollen .txt Dateien zum genannten Verzeichnis TutoriaLdir, Führen Sie den folgenden Befehl aus:

finden . -Name '*.txt '-type f | Xargs MV -T Tutorialdir

Wie Sie sehen können, nachdem Sie das ausgeführt haben ls Der Befehl zweimal wurden die Dateien vom aktuellen Verzeichnis in die verschoben TutoriaLdir Unterverzeichnis.

Die Syntax ist für alle Dateitypen gleich. Lassen Sie es uns diesmal wiederholen, diesmal .C Dateien:

finden . -Name '*.C '-typ f | Xargs MV -T Tutorialdir

Der erste LS -Befehl zeigt drei an .C Dateien im aktuellen Verzeichnis. Nach dem Ausführen des Befehls find mit xargs zeigt der Baumbefehl alle an .c Dateien wurden auf die verschoben TutoriaLdir Verzeichnis, wo .txt Dateien wurden im vorherigen Beispiel übertragen.

Finden und löschen Sie Dateien und Verzeichnisse mit XARGS nach Namen

Die Syntax zum Suchen und Löschen von Dateien mithilfe von XARGS ist Folgendes:

finden -Name | xargs rm

Das ist wo ist das übergeordnete Verzeichnis, das Sie durchsuchen, und ist der Name der Datei, die Sie finden und entfernen möchten.

Sehen wir uns das aktuelle Szenario im folgenden Screenshot an:

ls

Wählen Sie im ersten Beispiel die Dateien nach dem Typ, wie im vorherigen Abschnitt, nach dem unten gezeigten Abschnitt aus, wie unten gezeigt:

finden . -Name "*.c "| xargs rm

Wie Sie oben sehen können, alle .C Dateien wurden erfolgreich gelöscht.

Jetzt ist das Szenario das folgende:

ls

Im aktuellen Beispiel werde ich die Wildcard verwenden, um alle Dateien zu entfernen, deren Name beginnt “Datei”, Unabhängig von der Namensdauer.

finden . -Name "Datei*" | xargs rm

Bisher erläuterte dieser Artikel, wie man mit Dateien umgeht. Lassen Sie uns nun sehen, wie man Find und Xargs mit Verzeichnissen verwendet. Im neuen Szenario gibt es fünf neue Verzeichnisse: Dir1, Dir2, Dir3, Dir4, Und Dir5, Wie im folgenden Bild gezeigt:

ls

Angenommen, Sie möchten alle Verzeichnisse mit Namen entfernen möchten, beginnend mit “Dir”, Führen Sie den gleichen Befehl aus. Fügen Sie jedoch nach dem Befehl rm die hinzu -R Die Flagge, die mit Verzeichnissen zu tun hatte, wie in der folgenden Abbildung gezeigt:

finden . -Name "Dir*" | xargs rm -r

Finden und löschen Sie Dateien basierend auf den Berechtigungen

In diesem Abschnitt wird das Finden von Dateien nach bestimmten Berechtigungen beschrieben und diese mit XARGs geändert.

Wie Sie unten sehen können, Dateien etwas1.txt, etwas2.txt, Und etwas3.txt haben volle Berechtigungen für alle (777).

ls -l

Die Syntax, um Dateien mit Genehmigung zu finden und sie zu ändern, wird unten angezeigt:

finden -Dauerwelle | Xargs chmod

Um alle Dateien mit vollständigen Berechtigungen an alle (777) im aktuellen Verzeichnis zu finden und sie in vollständige Berechtigungen für den Eigentümer zu ändern und Berechtigungen für Gruppenbenutzer und andere (755) zu lesen und auszuführen, führen Sie den im Folgenden ausgeführten Befehl aus:

finden . -Perm 777 | xargs chmod 755

Abschluss

Wie Sie können. Beide Befehle sind einfach zu implementieren und können von neuen Benutzern aufgenommen werden, um ihre Erfahrungen mit dem Linux -Terminal zu erleichtern. Find und Xargs sind grundlegende Linux -Befehle, die jeder Linux -Benutzer wissen muss, wie man sich anwendet. XARGs können mit anderen grundlegenden Befehlen wie möglich kombiniert werden ls. Die oben erläuterten Anweisungen sind für alle Linux -Verteilungen hilfreich.

Weitere Artikel finden Sie in weiteren Linux -Tipps und Tutorials.