xargs - dies ist ein universeller Befehl unter Linux, mit dem Sie Befehlszeilenargumente effizient verarbeiten und Befehle für jeden ausführen können. Es kann sehr nützlich sein, wenn Sie mit vielen Dateien arbeiten oder andere Befehle ausgeben. In diesem Handbuch werden wir die grundlegenden Prinzipien der Verwendung von xargs untersuchen und seine gebräuchlichsten Befehle und Optionen demonstrieren.
xargs kann für eine Vielzahl von Aufgaben verwendet werden, angefangen beim Verschieben, Kopieren oder Löschen von Dateien bis hin zum Ausführen beliebiger Befehle für jede Datei. Das Hauptmerkmal von xargs ist seine Fähigkeit, eine Liste von Argumenten, die an einen Befehl übergeben werden, effizient zu verarbeiten.
Eines der Hauptmerkmale von xargs ist seine Fähigkeit, lange Listen von Argumenten zu verarbeiten, die möglicherweise nicht in die Befehlszeile passen. Stattdessen teilt xargs die Liste in kleinere Teile auf und führt den Befehl für jeden Teil aus. Dies macht xargs zu einem sehr leistungsfähigen Werkzeug, wenn Sie mit vielen Dateien arbeiten oder andere Befehle ausgeben.
In diesem Handbuch werden wir uns die grundlegenden Befehle und Optionen von xargs ansehen, die Ihnen helfen, es effektiv in Ihren Projekten zu verwenden. Wir zeigen Ihnen einfache Anwendungsbeispiele sowie komplexere Szenarien mit E / A-Umleitung, Filtern von Ergebnissen und Ausführen von Befehlen auf Remoteservern. Nachdem Sie dieses Handbuch gelesen haben, werden Sie xargs beherrschen und es in Ihren Linux-Aufgaben verwenden können.
Grundlagen der Verwendung von xargs in der Linux-Befehlszeile
Der primäre Zweck von xargs besteht darin, die von der Standardeingabe abgeleiteten Argumente an einen Befehl oder ein Skript zu übergeben. Dies ist besonders nützlich, wenn Sie für jedes Element in einer Liste von Dateien, Zeilen oder Werten, die durch Leerzeichen getrennt sind, einen Befehl ausführen müssen.
Die grundlegende Syntax für den Befehl xargs lautet wie folgt:
- command | xargs [options] command
- command | xargs [options] script.sh
Hier ist command der Befehl oder das Skript, das Sie für jedes Argument ausführen möchten, und script.sh - es ist ein ausführbares Skript.
Das einfachste Beispiel für die Verwendung von xargs ist das Ausführen eines Echo-Befehls für jedes Argument:
$ echo "один два три четыре" | xargs echoодин два три четыре
Im obigen Beispiel wird der Befehl echo auf jedes durch Leerzeichen getrennte Argument angewendet und auf dem Bildschirm angezeigt.
Zusätzliche Optionen können verwendet werden, um das Verhalten von xargs zu konfigurieren, z. B. das Angeben der Anzahl der zu übergebenden Argumente auf einmal, verschiedene Trennzeichen oder die Verarbeitung von Dateien mit einer Maske:
- -n : Gibt die Anzahl der Argumente an, die gleichzeitig übergeben werden.
- -d : gibt das Trennzeichen an, das zum Trennen von Argumenten verwendet wird.
- -I : Gibt ein Muster an, das durch jedes Argument ersetzt wird.
- -a : Gibt eine Datei mit Argumenten an, die durch Leerzeichen oder neue Zeilen getrennt sind.
- -r : Befehl nicht ausführen, wenn keine Argumente vorhanden sind.
Um beispielsweise den Befehl ls für jede Datei auszuführen, die einer bestimmten Maske entspricht, können Sie Folgendes verwenden:
$ ls | xargs -I <> echo "Файл: <>"Файл: file1.txtФайл: file2.txtФайл: file3.txt
Hier wird jede vom ls-Befehl zurückgegebene Datei durch die Vorlage <> im echo-Befehl "Datei: <>" ersetzt.
Wenn es richtig verwendet wird, ist xargs ein leistungsfähiges Werkzeug, um große Datenmengen in der Linux-Befehlszeile zu verarbeiten. Das Erlernen der verfügbaren Optionen und die korrekte Verwendung von xargs kann Ihre Arbeit erheblich vereinfachen.
Xargs in verschiedenen Linux-Szenarien anwenden
Im Folgenden finden Sie einige praktische Beispiele für die Verwendung von xargs:
1. Verarbeitung der Befehlsausgabe
Es besteht oft die Notwendigkeit, die Ausgabe eines Befehls zur späteren Verwendung zu verarbeiten. Mit xargs können Sie jede Ausgabezeile einzeln lesen und verarbeiten. Sie können beispielsweise den Befehl find verwenden, um nach Dateien zu suchen und sie an xargs zu übergeben, um eine Aktion für jede gefundene Datei auszuführen.
2. Multithreadverarbeitung
Parallele Prozesse können verwendet werden, um die Verarbeitung großer Datenmengen zu beschleunigen. Xargs kann mehrere Prozesse gleichzeitig ausführen, indem Argumente parallel verarbeitet werden, wodurch die Ausführungszeit einer Aufgabe erheblich verkürzt wird.
3. Löschen von Dateien anhand des Namensmusters
Wenn Sie mehrere Dateien löschen möchten, die einem bestimmten Namensmuster entsprechen, können Sie sie mit dem Befehl find suchen und das Ergebnis mit einem Löschbefehl an xargs übergeben. Mit dieser Lösung können Sie alle benötigten Dateien sofort löschen, ohne sie manuell angeben zu müssen.
Anmerkung: Es ist wichtig, vorsichtig zu sein, wenn Sie den Löschbefehl mit xargs verwenden, um zu vermeiden, dass unbeabsichtigte Dateien gelöscht werden.
4. Ausführen eines Befehls für jedes Argument aus einer Datei
Wenn Sie eine Datei mit einer Reihe von Argumenten haben und für jeden einen bestimmten Befehl ausführen möchten, können Sie xargs verwenden. Dies kann beispielsweise zum Ausführen eines Befehlssatzes für jeden Benutzer in einer Liste nützlich sein.
5. Pipeline-Datenverarbeitung
Xargs wird häufig zusammen mit anderen Befehlszeilenprogrammen wie grep, awk oder sed verwendet, um Daten in der Befehlspipeline zu verarbeiten. Auf diese Weise können Sie komplexe Datenoperationen durchführen, indem Sie die Funktionalität verschiedener Dienstprogramme kombinieren.
All diese Beispiele sind nur ein kleiner Teil der Funktionen, die xargs unter Linux bietet. Jeder von ihnen zeigt jedoch die Leistung und Flexibilität dieses Tools, mit dem Sie viele Aufgaben in einer Befehlszeilenumgebung automatisieren können.
Zusätzliche xargs-Funktionen und -Optionen unter Linux
Xargs unter Linux bietet viele erweiterte Funktionen und Optionen, die es zu einem noch leistungsfähigeren und flexibleren Befehlszeilentool machen.
-0, --null: Verwenden Sie ein Nullzeichen als Argumenttrennzeichen. Diese Option ist besonders nützlich, wenn Sie mit Dateien arbeiten, die Leerzeichen oder Sonderzeichen in Titeln enthalten.
-I replace-str, --replace[=replace-str]: Ersetzt die angegebene Zeichenfolge durch Befehlsargumente. Mit dieser Funktion können Sie für jedes Argument eine Zeichenfolge im Befehl dynamisch ersetzen.
-P max-procs, --max-procs=max-procs: Begrenzt die Anzahl paralleler Prozesse. Mit dieser Option können Sie die Anzahl der gleichzeitig ausgeführten Prozesse steuern, was besonders nützlich ist, wenn Sie mit vielen Dateien oder langen Prozessen arbeiten.
-r, --no-run-if-empty: Befehl nicht ausführen, wenn keine Eingabe vorhanden ist. Mit dieser Option wird verhindert, dass der Befehl ausgeführt wird, wenn xargs keine Argumente erhält.
-T, --initial-tab: Jedes Befehlsargument wird mit einem Tabulator vorangestellt. Diese Funktion fügt vor jedem Argument einen Tabulator hinzu, was beim Formatieren der Ausgabe nützlich sein kann.
-t, --verbose: Zeigt den Befehl an, bevor er ausgeführt wird. Dieser Parameter gibt den auszuführenden Befehl aus, bevor er tatsächlich ausgeführt wird. Dies kann zum Debuggen oder Anzeigen eines ausgeführten Befehls nützlich sein.
Dies sind nur einige der verfügbaren xargs-Funktionen und -Optionen unter Linux. Ausführliche Informationen zu allen Parametern und deren Verwendung finden Sie in der Dokumentation oder durch Aufrufen der Hilfe mit dem Befehl man xargs.