Im vergangenen Artikel ging es auch um das grep-Kommando. In diesem Artikel werden die Standardkanäle etwas genauer betrachtet und die Eingabe- und Ausgabeumlenkung…
Die Standardkanäle:
Viele Linux-Kommandos – wie etwa grep – sind so gebaut, dass sie Eingabedaten lesen, diese dann irgendwie manipulieren und dann das Ergebnis ausgeben.
- grep xyz
Wird dieser Befehl im Terminal eingetippt, dann können anschließend Textzeilen im Terminal eingegeben werden und grep lässt nur noch die mit der vorgegebenen Zeichenkette durch. Erkennbar wird das daran, dass im Terminal die Zeichenfolge (hier xyz) zusätzlich farbig hervorgehoben dargestellt wird…
Mit Tastenkombination “STRG“ und “d“ wir die Eingabe beendet. Die Standard-Eingabe ist die Tastatur. Die Standard-Ausgabe ist der Bildschirm (Konsole/Terminal) Der dritte Standardkanal ist die Fehlerausgabe.
Standardkanäle umleiten:
Am Beispiel des Befehls “uname -a“ soll nun eine Umleitung in eine Datei realisiert werden. Zur Erinnerung: uname -a zeigt uns die aktuelle Kernelversion und wird standardmäßig im Terminal ausgegeben…
- uname -a > version.txt
Wenn alles funktioniert hat, sollte es in unserem home-Verzeichnis jetzt die Datei “version.txt“ geben und die Ausgabe wurde als Inhalt in die Datei geschrieben. Aufpassen sollte man nur, dass es den hier gewählten Dateinamen am Zielort noch nicht gibt, denn sonst würde der Inhalt überschrieben… Wer sich die Textdatei jetzt auch im Terminal anschauen möchte, kann das mit dem less-Befehl machen…
- less version.txt
Der Lesemodus wird mit “Q“ beendet. Sollen jetzt Daten der bestehenden Datei zugefügt werden, bietet sich folgender Befehl an.
- uname -a >> version.txt
- uname -m >> version.txt
Kommandosubstitution:
Eine andere Möglichkeit zur Umleitung der Standardausgabe eines Programms bieten die »verkehrten« Anführungszeichen…
Für die Experimente erzeugen wir die Datei “termine.txt“ mit folgendem Inhalt:
01.01 Hans Geburtstag
02.01 Klaus Geburtstag
21.01 Peter Geburtstag
Das letzte Datum sollte an das aktuelle Datum angepasst werden – nur dann funktioniert das Experiment…
Das aktuelle Datum wird mit folgendem Terminalbefehl ermittelt:
- date +%d.%m.
Dieses Datum suchen wir nun in der Datei. Das Zeichen Zirkumflex sucht am Anfang der Zeile nach der angegeben Zeichenfolge. So wurde es auch im vorherigen Artikel beschrieben. Das Zirkumflex-Zeichen findet sich übrigens links neben der Eins und danach bitte auch einmal auf die Leertaste hauen. Die verkehrten Anführungszeichen liegen rechts neben dem Fragezeichen und auch hier hilft ein Schlag auf die Leertaste…
- grep ^`date +%d.%m.` termine.txt
Die Standardausgabe eines Kommandos, das in verkehrten Anführungszeichen steht, wird anstelle des Kommandoaufrufs in die Befehlszeile eingebaut; ausgeführt wird dann das, was sich durch diese Ersetzung ergibt…
Standardeingabe umleiten:
Für dieses Experiment brauchen wir wieder eine neue Textdatei “info.txt“ mit dem Inhalt:
Es war einmal eine Prinzessin
Nun lassen wir mal die Wörter zählen:
- wc -w < info.txt
Das Experiment zeigt auch, dass Leerzeichen mitgezählt werden. Da unser Beispielsatz aus 5 Wörtern besteht, sollte auch 5 als Ergebnis im Terminal angezeigt werden. Wenn das nicht so ist, einfach die Leerzeichen am Dateiende entfernen…
Kommando-Pipelines:
Das Pipe-Zeichen liegt zwischenShift-Taste und Y-Taste und wird über die Tastenkombination mit “AltGr“ aufgerufen.
- ls -laF | less
Mit diesem Befehl wird ein Zwischenschritt eingespart. Es wird keine Datei erzeugt, sondern per Pipeline gleich die gewünschten Daten ausgegeben…
Linux Gruppe Peine:
Wer sich für das Betriebssystem Linux und Open Source Hardware und Software interessiert ist in der Linux Gruppe Peine genau richtig. Wenn Du Lust hast mitzumachen, dann melde dich einfach beim Fuhselab.
Die Linux Gruppe Peine trifft sich Donnerstags von 18:00 Uhr bis 21:00 Uhr. Die Teilnehmerzahl ist begrenzt und deshalb bitte vorher per Kontaktformular oder Mail an info@fuhselab.de melden. Der Veranstaltungsort wird kurzfristig festgelegt und den Teilnehmerinnen und Teilnehmern per E-Mail mitgeteilt.
Das Angebot “Linux Gruppe Peine“ kann für einen Jahresbeitrag von 60,- Euro genutzt werden. Für einen Beitrag von 20,- Euro pro Teilnehmer können die Workshops genutzt werden. Materialkosten werden projektabhängig zusätzlich erhoben.