Was ist ein Rohr unter Linux?

Was ist ein Rohr unter Linux?
In Linux-basierten Betriebssystemen ist Pipe eine Art von Umleitung, die für die Übertragung der Standardausgabe eines Befehls in ein Ziel oder einen anderen Befehl verwendet wird. Es wird zum Senden der Ausgabe eines Prozesses, eines Programms oder des Befehls an einen anderen Prozess, Programm oder Befehl zur zusätzlichen Verarbeitung verwendet. Der Linux Die Systeme ermöglichen es, dass die Standardausgabe oder das STDOut eines Befehls mit der Standardeingabe oder dem Stdin des anderen Befehls verbunden sein wird. In Linux werden Rohre mit der “dargestellt|”Rohrcharakter.

Ein Rohr verbindet zwei oder mehr Prozesse, Programme oder Befehle für eine begrenzte Zeit. Für die zusätzliche Verarbeitung verwendet das Linux-System das als Filter bekannte Befehlszeilenprogramm. Die direkte Verbindung, die zwischen mehreren Prozessen, Befehlen und Programmen erstellt wird. Pipes aktivieren jedoch auch die Datenübertragung zwischen ihnen, ohne den Anzeigebildschirm oder temporäre Textdateien durchzuführen.

Wie Rohre unter Linux funktionieren

Die Daten bewegt sich durch Rohre von links nach rechts und daher sind Rohre unidirektional. Die Nutzung von Rohren im Linux -Terminal hat viele Vorteile. Sie können zahlreiche Programme mit Pipes gruppieren, um hoch leistungsstarke Befehle zu erstellen. Die meisten Befehlszeilenprogramme unterstützen mehrere Betriebsmodi. Diese Programme können Daten in Dateien schreiben und lesen und die Standardausgabe und die Eingabe akzeptieren. Diese Aussage erklärt, dass die Ausgabe eines Programms als Eingabe für ein anderes verwendet werden kann. Sie können dann die Ausgabe des zweiten Programms als Eingabe an ein drittes Programm senden oder in einer Datei speichern. So funktionieren Rohre in einem Linux-basierten Betriebssystem.

Syntax von Rohren unter Linux

Der Rohrcharakter “|Wird zum Hinzufügen eines Rohrs in einem Befehl verwendet. Die allgemeine Syntax von Rohren in Linux lautet wie folgt:

$ First_Command | Second_Command | DRITTE_COMMAND…

Schreiben Sie die aus First_Command im Terminal; Geben Sie dann das Rohrcharakter an “|”. Danach fügen Sie die hinzu Second_Command. Bis zu diesem Zeitpunkt sendet das Rohr die Standardausgabe des First_Command als Eingabe an den Second_Command. Rohre können verwendet werden, um eine Kette von Befehlen zu erzeugen. Die Funktionalität der Rohre bleibt jedoch in der gesamten Befehlskette.

So verwenden Sie Rohre unter Linux

In einem Linux -Terminal werden Rohre unter Verwendung der “dargestellt|”Rohrcharakter. Jetzt schreiben wir einige Befehle aus, die Pipes umfassen, um die Arbeit von Rohren in Linux praktisch zu erklären.

Notiz: Für die Demonstration der Rohrbeispiele verwenden wir Ubuntu 20.04. Pipes funktionieren jedoch in allen Linux-basierten Systemen gleich.

So verwenden Sie Pipe zum Senden der Liste der Dateien und Verzeichnisse an den Befehl „More“ unter Linux

In diesem Beispiel werden wir das Rohr zwischen “verwenden“ls" Und "mehr”Befehle. Der "lsDer Befehl ”wird zum Auflisten von Verzeichnissen und Dateien verwendet, und die Option" -l "wird hinzugefügt, um sie im langen Format aufzulisten. Während die "mehrDer Befehl ”wird die Liste auf Scrollable und jeweils ein Bildschirm angezeigt:

$ ls -l | mehr

Durch die Ausführung des oben gegebenen Befehls sendet die Liste der Dateien und Verzeichnisse als Eingabe in die “mehr"Befehl mit Rohr"|”:

Jetzt drücken "EingebenWeitere Listenverzeichnisse und -dateien anzeigen:

So verwenden Sie Pipe, um Dateien von der Liste aller Dateien und Verzeichnisse unter Linux zu trennen

Das Rohr bietet Ihnen auch die Möglichkeit, bestimmte Dateien von einer Liste zu trennen und aufzulisten. Dafür können Sie das verwenden “lsBefehl zum Auflisten von Dateien und die “Grep"Befehl zum Durchsuchen des spezifischen Musters und das Hinzufügen des" | " Rohrcharakter zwischen diesen Befehlen.

Im folgenden Beispiel sendet das Rohrcharakter die Liste der Dateien und Verzeichnisse an die “Grep" Befehl. Anschließend extrahiert der Befehl Grep die Datei mit der “txt”Muster in ihnen:

$ ls | grep "txt"

So zählen Sie Pipe, um die Anzahl bestimmter Dateien aus der Liste aller Dateien und Verzeichnisse unter Linux zu zählen

Sie können Rohre verwenden, um eine Befehlskette zu erstellen. Diese Befehlskette wird sofort im Linux -Terminal ausgeführt. Zum Beispiel können wir den zuvor ausgeführten Befehl erweitern, indem wir eine Pipe hinzufügen und “Toilette" Befehl. Das zweite Rohr sendet die Ausgabe der “Grep"Befehl zu"Toilette”.

$ ls | Grep "txt" | WC -l

Durch die Ausgabe des Befehls wird die Gesamtzahl der Dateien ausgedrucken, die die "enthalten"txt" Muster:

So verwenden Sie Pipe, um eine Datei zu sortieren und ihre eindeutigen Werte unter Linux zu drucken

Wenn Sie eine Datei sortieren und dann ihre eindeutigen Werte im Terminal ausdrucken möchten, führen Sie den folgenden Befehl aus:

$ sortieren sampleTest1.txt | Uniq

Hier das "SortierenBefehl "Befehl wird verwendet, um die zu sortieren"SAMPLETEST1.txt" Datei. Das Rohr "|" sendet die “SortierenBefehlsausgabe zu “Uniq“. Dann ist die "UniqDer Befehl ”filtert die doppelten Werte:

So verwenden Sie Pipe, um bestimmte Daten unter Linux abzurufen

Sie können das Rohr verwenden “|”Zwischen dem Befehl katze und grep. Der "KatzeDer Befehl "Befehl extrahiert die Daten aus"SAMPLETEST1.txt", während die "GrepBefehl ”wird nach dem“ suchenU"Brief in"SAMPLETEST1.txt" Inhalt. Zur weiteren Verarbeitung, Rohr “|"Werde die" senden "KatzeBefehlsausgabe zu “Grep”:

$ CAT SAMPLETEST1.txt | grep "u"

Die Ausgabe zeigt Ihnen den Text mit „u“:

So drucken Sie Pipe zum Drucken von Dateilinien in einem bestimmten Bereich unter Linux

Kopf" Und "SchwanzBefehle werden verwendet, um den ersten und letzten Teil einer Datei auszudrucken. In diesem Beispiel werden wir das Rohr verwenden. “|”Um das zu holen“SAMPLETEST2.txt"Dateidaten resultieren aus dem"KatzeBefehl und dann an die “weitergebenKopf" Und "SchwanzBefehl als Eingabe:

$ CAT SAMPLETEST2.txt | Kopf -3 | Schwanz -7

Es zeigt Ihnen die untergegebene Ausgabe:

Abschluss

In Linux-basierte Systeme, Das Rohr wird verwendet, um zwei oder mehr Befehle so zu kombinieren, dass die Ausgabe eines Befehls als Eingang an den anderen übergeben wird. Das "|" Symbol zeigt Rohroperator an. Mit Hilfe des Rohroperators wird jeder Prozessausgang direkt als Eingang zum nächsten Befehl angegeben. In diesem Beitrag haben Sie gelernt Was für ein Rohroperator unter Linux ist. Darüber hinaus haben wir auch verschiedene Beispiele im Zusammenhang mit Rohren in einem Linux -System gezeigt.