Im ersten Teil unserer Einführung in die Shell [1] haben wir einige grundlegende Schritte in der Shell beschrieben: Dort ging es darum, eine Shell im Terminalfenster zu starten, einfache Befehle einzugeben und ein wenig mit Dateien zu arbeiten (kopieren, verschieben, umbenennen, löschen). Mit diesen Vorkenntnissen können Sie sich nun an einige anspruchsvollere Aufgaben heran wagen; dabei lernen Sie nützliche Spezialwerkzeuge kennen.
Blick in die Datei
Der Shell-Befehl cat ist die Kurzform des englischen Worts "concatenate" (aneinanderhängen) und eigentlich dafür zuständig, mehrere Dateien zu einer einzigen (neuen) Datei zusammenzufassen. Das Kommando akzeptiert aber auch einen einzelnen Dateinamen als Argument und gibt dann den Dateiinhalt im Terminalfenster aus. Testen Sie die Funktion, indem Sie z. B. den Inhalt der Datei /etc/hosts anzeigen (siehe Kasten Ausgabe mit "cat").
Ausgabe mit "cat"
esser@netbookhg:~$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 netbookhg # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Unter Linux sind fast alle Konfigurationsdateien für das Betriebssystem und auch für die meisten Anwendungsprogramme reine Textdateien, deren Inhalt Sie so in der Shell schnell unter die Lupe nehmen können. Nun ist /etc/hosts eine auf den meisten Computern recht überschaubare Datei, bei längeren Dateien ist die einfache Ausgabe mit cat aber unbefriedigend, weil der Inhalt einfach durch das Fenster läuft. Sie könnten nun mit Hilfe der Bildlaufleiste bis zur gesuchten Stelle zurück scrollen, aber es gibt spezielle Tools, die das Betrachten von Dateien erleichtern.
Mehr oder weniger: "less"
Das am häufigsten verwendete Tool zum Anzeigen von Dateien ist less (deutsch: weniger), und sein Name bedarf einer Erklärung. Auf älteren Unix-Systemen (den Vorläufern von Linux) gab es ein Tools namens more (deutsch: mehr), das eine Datei seitenweise anzeigte: Es löschte dazu den Bildschirm, zeigte dann einige (meist 24) Zeilen aus der Datei an und schrieb in die letzte Zeile das Wort "MORE" – als Aufforderung an den Benutzer, eine Taste zu drücken, um die nächste "Seite" anzuzeigen. Das klassische more-Kommando gibt es auch unter Linux noch, aber zusätzlich auch die leistungsfähigere Version less: Die Entwickler von less haben ihrer verbesserten Version von more also als Namen das Gegenteil des Originalprogrammnamens verpasst.
Nach der länglichen Historie des Kommandos nun zur Anwendung: Viele überlange Textdateien finden Sie im Verzeichnis /var/log/, das die Protokolldateien (englisch: "log files") des Systems enthält. Die meisten davon können Sie nur mit Administratorrechten lesen; werden Sie also zunächst mit su (OpenSuse) oder sudo su (Ubuntu) zum Systemverwalter (wie in Teil 1 im Guru-Training der letzten Ausgabe beschrieben). Je nach Linux-Distribution finden Sie die wichtigsten Systemmeldungen in der Datei messages oder syslog im Log-Verzeichnis. Um nun etwa in die Datei messages einen Blick zu werfen, geben Sie den Befehl
less /var/log/messages
ein. Mit den Tasten [Bild hoch] und [Bild runter] können Sie bequem "seitenweise" durch die Datei springen. Der Begriff Seite bezieht sich hier auf die Menge an Text, die gleichzeitig ins Shellfenster passt. Um nur zeilenweise rauf und runter zu scrollen, verwenden Sie die Cursortasten. In der untersten Zeile des Fensters sehen Sie stets, welche Datei Sie gerade betrachten und an welcher Position Sie sich befinden (Abbildung 1). Lange Zeilen umbricht less "hart": Anders als in einer Textverarbeitung erfolgt der Zeilenwechsel mitten im Wort und ohne die Anzeige von Trennstrichen oder ähnlichem – das Ziel ist, den Dateiinhalt möglichst unverändert darzustellen.
Sie verlassen less, indem Sie [Q] (für "quit") drücken; dann landen Sie wieder in der Shell.



