Lehrauftrag
Informatik für Elektrotechnik und Maschinenbau
Infoblatt 2 - Unix/Linux-Kommandos,
E/A-Umlenkung, Pipe
Dieses Infoblatt ist neben dem Infoblatt
1 ein weiterer Vorspann für das Übungsblatt
Übung 1.
Ausgabeumlenkung und Eingabeumlenkung können kombiniert werden!
Beispiel:
Abspeichern des Liebesbriefs in der Version mit nummerierten
Zeilen.
~>nl < liebesbrief > numliebesbrief
Ausgabe- und Eingabeumlenkung werden oft im Zusammenhang mit Zwischenspeichern
von Kommando-Ergebnissen in Dateien genutzt.
Danach kann die Zwischendatei in der Regel gelöscht werden.
Beispiel:
Das Kommando ls -R zeigt alle Datei-/Verzeichnisnamen
im aktuellen Verzeichnis (rekursiv auch in Unterverzeichnissen).
Das Kommando wc -l zählt die Zeilen (lines)
der Standard-Eingabe.
Das Kommando rm dateiname löscht eine Datei.
Wenn die Zahl der Dateien im aktuellen Verzeichnis gezählt
werden soll, muss folgendermaßen vorgegangen werden:
~>ls -R > dateienliste
~>wc -l < dateienliste
22
~>rm dateienliste
Wenn eine Weiterverarbeitung der Daten erfolgt, für die nur
vorübergehend eine Datei notwendig ist, ist die PIPE (im Sinne von
Pipeline) einsetzbar! Mit dem senkrechten Strich (auf der Tastatur Alt-Gr+<)
werden stdout eines Programms mit stdin eines anderen Programms verbunden.
Das obige Beispiel hat dann folgende Form:
~>ls -R | wc -l
22
Einige Kommandos, die stdout und stdin verwenden
-
ps gibt eine
Liste aller Ihrem Terminal zugeordneten Prozesse auf stdout aus; ps
-e gibt die komplette Prozessliste des Systems, an dem Sie
gerade angemeldet sind, aus.
-
ls produziert
auf stdout eine Liste aller (sichtbaren, d.h. nicht mit einem Punkt beginnenden)
Dateinamen; ls -l gibt diese
Liste mit einigen Zusatzinformationen aus.
-
wc zählt
Zeilen, Worte und Zeichen in einem von stdin eingegebenen Text (die Anzahl
geht nach stdout).
-
find verzeichnisname -name
"dateinamenmuster" -print sucht im angegebenen Verzeichnis
nach Dateien, die dem Muster entsprechen und gibt den Pfadnamen komplett
auf stdout aus.