Next: Wo bekomme ich Hilfe?
Up: Eingabe von Befehlen
Previous: Löschen von Dateien
Texteditoren für Linux gibt es unzählig viele. Für jeden ist ein passender
darunter, man muß sie nur alle mal ausprobieren. Sie alle eignen sich mehr
oder weniger gut zum Erstellen von Textdateien. Textdateien sind Dateien, deren
Inhalt ein Text ist. Die gebräuchlichsten Editoren sind:
- emacs
- joe
- pico
- jed
- vi
- axe
Wobei axe nur bei einem grafischen Zugang, nicht bei einem rein
textbasierten Zugang genutzt werden kann.
Zum Anzeigen des Inhaltes einer Textdatei muß nicht unbedingt ein Editor
aufgerufen werden. Unter Linux stehen eine Reihe von Befehlen zur Verfügung,
die den Inhalt einer Datei anzeigen, nicht aber das Editieren der Datei
erlauben. Diese Trennung ist sinnvoll, da bei diesen ,,Dateibetrachtern`` nicht
(aus Versehen) der Inhalt einer Datei geändert werden kann. Ein so veränderter
Inhalt muß dann mühsam wieder restauriert werden.
Mit dem Befehl cat wird der Inhalt der Datei auf dem Bildschirm
ausgegeben. Es werden keinerlei Benutzerinteraktion zugelassen, d.h.
der Benutzer hat keine Möglichkeit aktiv einzugreifen. Umfaßt die
Datei 1000 Zeilen Text, so werden diese in einem Stück ausgegeben, ohne
daß der Benutzer die Möglichkeit hat diese zu lesen. Wozu braucht man
dann überhaupt diesen Befehl?
Eine sinnvolle Anwendung des Befehls cat ist z.B. das
Konkatenieren (Hintereinangerhängen, Zusammenfügen) von mehreren Dateien.
Es spielt dabei keine Rolle ob es sich um Textdateien oder sonstige
Datendateien handelt.
$ cat ./Datei1 ./Datei2 ./Datei3 > ./Gesamtdatei
|
Dabei gibt cat Datei1 Datei2 Datei3 den Inhalt der Dateien auf
dem Bildschirm aus. Sollte es sich dabei nicht um reine Textdateien handeln,
können wirre Zeichenkombinationen auf dem Bildschirm ausgegeben werden.
Diesen Vorgang nennt man Umleitung. Eine Umleitung leitet die Ausgabe
eines Befehles in eine Datei um. So wird in unserem Beispiel der Inhalt der
Dateien nicht auf dem Bildschirm ausgegeben, sondern in die Datei mit
dem Namen Gesamtdatei geschrieben. Dazu muß folgendes bedacht werden:
- Die Datei muß für den Benutzer schreibbar sein bzw. das Verzeichnis
in dem die Datei neu angelegt werden soll muß schreibbar sein.
- Der aktuelle Inhalt der Datei Gesamtdatei geht verloren, da
er durch die neuen Daten überschrieben wird (evt. alte Datei vorher
kopieren).
Eine weitere häufige Anwendung des Befehls cat ist die Verwendung
in einem sogenannten Pipe-Konstrukt:
$ Befehl1 Befehl2 Befehl3
|
Dadurch werden zwei oder mehrere Befehle zu einer mit getrennter Kette
zusammengefügt. Die Ausgaben des links des stehenden
Befehls werden als Eingaben des rechts stehenden Befehls ausgewertet. In unserem
abstrakten Beispiel bedeutet dies folgendes: Der Befehl Befehl1
wird ausgeführt und produziert eine Ausgabe. Diese wird als Eingabe
für den Befehl Befehl2 genommen. Mit dieser Eingabe produziert
Befehl2 eine Ausgabe, die als Eingabe des letzten Befehls in der Kette
genommen wird. Die Ausgabe von Befehl3 ist die Ausgabe, die dem
Benutzer auf seinem Bildschirm dargestellt wird. Der Benutzer bekommt
nur die Ausgabe des letzten Befehls der Kette, alle anderen Ausgaben werden
nicht zusätzlich auf dem Bildschirm ausgegeben.
Stellt man sich die Aufgabe, den Inhalt einer Textdatei so darzustellen,
daß man seitenweise vor- und zurückblättern kann, so könnte das
folgendermaßen aussehen.
$ cat ./Datei1 less
|
Der Befehl less dient wie cat dem Darstellen des
Dateiinhaltes, der Befehl ist jedoch wesentlich komfortabler.
In unserem Beispiel bekommt der Befehl less als Eingabe die Ausgabe von
cat ./Datei1. Der Befehl less kümmert sich nun um die
Aufarbeitung des Textes. Dazu zählt u.a. das freie Bewegen im Text und
das Suchen nach Schlüsselwörtern.
Unsere obige Konstruktion ist etwas umständlich, demonstriert aber anschaulich
die Verwendung des Befehls cat in Verbindung mit einer Pipe.
Viel eleganter und kürzer erhält man dasselbe Ergebnis,
wenn man dem Befehl less direkt die Datei übergibt.
Werden mehrere Dateien angegeben, so kann zwischen diesen Dateien
gewechselt werden.
Next: Wo bekomme ich Hilfe?
Up: Eingabe von Befehlen
Previous: Löschen von Dateien
Oliver Zendel
Thu May 15 01:59:27 MET DST 1997