Was ist eine Pipe
Teil des Abschnitts Grundlagen der Terminal-Journey von Coddy — Lektion 43 von 82.
Die Umlenkung ermöglicht es, Ausgaben in Dateien zu senden, aber was ist, wenn Sie die Ausgabe eines Befehls direkt in einen anderen Befehl senden möchten? Hier kommen Pipes ins Spiel.
Ein Pipe verbindet die Standardausgabe eines Befehls mit der Standardeingabe eines anderen mithilfe des Symbols |. Statt Zwischenergebnisse in eine Datei zu speichern, fließen die Daten direkt zwischen den Befehlen.
cat names.txt | sortDies nimmt die Ausgabe von cat names.txt und leitet sie direkt in sort. Das sortierte Ergebnis erscheint auf Ihrem Bildschirm, ohne dass temporäre Dateien erstellt werden.
Ohne Pipes bräuchten Sie mehrere Schritte:
cat names.txt > temp.txt
sort < temp.txt
rm temp.txtDie Pipe erledigt dasselbe in einem einzigen, eleganten Befehl. Stellen Sie es sich als Verbindung von Befehlen vor, wie Abschnitte einer Pipeline — Daten gelangen an einem Ende hinein und fließen durch jeden Befehl in der Reihenfolge, bis sie die endgültige Ausgabe erreichen.
Aufgabe
EinfachVerwende eine Pipe, um den Inhalt von fruits.txt zu lesen und sie alphabetisch in einem einzigen Befehl zu sortieren.
Führe einen Befehl aus, der:
- Verwendet
cat, umfruits.txtzu lesen - Leitet die Ausgabe an
sortweiter, unter Verwendung des Symbols|
Tipp: Das Format ist
cat filename | sort. Die Ausgabe voncatfließt direkt insortein, ohne dass Zwischendateien benötigt werden.
Spickzettel
Eine Pipe verbindet die Standardausgabe eines Befehls mit der Standardeingabe eines anderen unter Verwendung des Symbols |:
cat names.txt | sortDies nimmt die Ausgabe von cat names.txt und leitet sie direkt in sort weiter und beseitigt damit den Bedarf an temporären Dateien.
Ohne Pipes wären mehrere Schritte erforderlich:
cat names.txt > temp.txt
sort < temp.txt
rm temp.txtDie Daten fließen nacheinander durch jeden Befehl hindurch wie Abschnitte einer Pipeline.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Verzeichnisse
Ein Verzeichnis erstellenEin Verzeichnis kopierenEin Verzeichnis verschieben und umbenennenEin Verzeichnis löschenZusammenfassung - Verzeichnisoperationen7Dateiinhalt
Head und TailWortanzahlSort-BefehlUniq-BefehlGrep GrundlagenGrep mit FlagsZusammenfassung - Textdetektiv10Log-Analyzer-Projekt
ProjektübersichtAnzeigen der Logdatei2Navigation
Arbeitsverzeichnis anzeigenDateien auflistenVerzeichnis wechselnAbsolute vs. relative PfadeHome- und Root-VerzeichnisZusammenfassung - Den Weg finden8Umleitung
StandardausgabeIn eine Datei überschreibenAn eine Datei anhängenStandardeingabeStandardfehlerausgabeZusammenfassung – Log-Builder3Dateien
Eine Datei erstellenEine Datei lesenEine Datei kopierenEine Datei verschieben und umbenennenEine Datei löschenZusammenfassung - Dateioperationen6Wildcards und Muster
Die Sternchen-WildcardDie Fragezeichen-WildcardKlammer-WildcardsWildcards kombinierenZusammenfassung - Selektive Operationen9Pipes
Was ist eine PipeVerkettung zweier BefehleVerkettung mehrerer BefehlePipe mit GrepZusammenfassung - Daten-Pipeline