Zu_Befehl.jpg

tail und head

Zu Befehl

01.09.2000
Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Manchmal schießt man mit Programmen wie less oder more einfach mit Kanonen auf Spatzen, z. B. wenn man von längeren Dateien (wie etwa Log-Files) nur Ausschnitte wie die ersten oder letzten zehn Zeilen betrachten möchte. Die Namen sind Programm: Mit head und tail kommen zwei einfache Tools, die das Leben eines jeden Admins leichter machen.

tail

Dieses nette kleine Programm schreibt, wenn man ihm nichts anderes sagt, die letzten zehn Zeilen einer jeden Datei auf den Bildschirm. Ist es mehr als ein File, das ausgegeben werden soll, notiert tail ganz praktisch für den Benutzer, mit welcher Datei es gerade beschäftigt ist: ==> datei2 <==

Möchte man, dass tail mehr oder weniger als die letzten zehn Zeilen anzeigt, kann man mit der Option -n nummer eine bestimmte Anzahl von Zeilen vorgeben. Praktisch ist auch der Parameter -q (für --quiet). Dieser kommt ins Spiel, wenn man die Abschlüsse von mehreren Files ausgibt und dabei nicht wisseen will, welches Datei-Ende gerade vorliegt. (Übrigens macht der Parameter -v für --verbose genau das Gegenteil!)

Die wohl am häufigsten gebrauchte Option ist -f (was für --follow steht). Die Anzeige von Dateien, die sich dauernd verändern (wie die Log-Files /var/log/messages oder /var/log/maillog) sollte aktualisiert werden, sonst muss man den Programmaufruf ja dauernd wiederholen – genau das macht diese Option: In einer Endlosschleife schaut sie ständig nach, ob die Datei gewachsen ist, und reicht die neuesten Einträge nach. Praktisch, wenn root z. B. den Verbindungsaufbau des Modems betrachten möchte:

root@huehnerstall ~ > tail -f /var/log/messages
Jul 27 21:02:22 huehnerstall chat[568]: expect (ssword:)
...
Jul 27 21:02:22 huehnerstall chat[568]: Password:
...
Jul 27 21:02:22 huehnerstall chat[568]:  -- got it
Jul 27 21:02:23 huehnerstall pppd[567]: Connect: ppp0 <--> /dev/modem
Jul 27 21:02:24 huehnerstall pppd[567]: local  IP address xxx.xx.xxx.xxx

Follow the lesser tail

Auch der Befehl less kennt eine Betriebsart, die das Mitverfolgen von Änderungen einer Datei erlaubt: Wenn Sie im laufenden less ein großes "F" eingeben ("F" steht hier wieder für "follow"), dann wartet auch less darauf, dass der betrachteten Datei neue Zeilen hinzugefügt werden und zeigt diese sofort an. Schön: Diesen Follow-Modus können Sie jederzeit mit [Strg-C] wieder verlassen und erneut durch die Datei durchblättern. Zur besseren Orientierung vermerkt less den Wechsel in den "Verfolgungsmodus" übrigens mit dem Hinweis

Waiting for data... (interrupt to abort)

in der Statuszeile.

Kopflos? Nicht mit head!

Dieses Programm gibt – nomen est omen – die obersten zehn Zeilen einer Datei auf dem Monitor aus. Auch hier gibt es das Feature: Sind es mehrere Files, die ausgewertet werden sollen, erfolgt eine optische Trennung in der Ausgabe. Und auch die Option -n nummer steht zur Verfügung, um etwa nur jeweils die ersten fünf Zeilen anzuzeigen; head und tail sind eben Zwillinge, die sich im wesentlichen den gleichen Aufgaben widmen – nur der eine von oben und der andere von unten.

Nützlich ist dies etwa, wenn Sie im Verzeichnis /etc eine ganze Reihe von Konfigurationsdateien finden und nicht sicher sind, in welcher Sie eine Änderung vornehmen müssen – ein schnelles

head /etc/*.conf

listet dann die Anfänge aller Konfigurationsdateien auf. Da diese in den ersten Zeilen oft Hinweise auf den Verwendungszweck enthalten, ist die richtige Datei so schnell gefunden.

root@huehnerstall ~ > head -n 3 /etc/w*.conf
==> /etc/webalizer.conf <==
#
# Sample Webalizer configuration file
# Copyright 1997-1999 by Bradford L. Barrett (brad@mrunix.net)
==> /etc/whoson.conf <==
# whosun server and client sample configuration file
# Configuration entry is: "client" or "server" starting from position 1,
==> /etc/wine.conf <==
;;
;; MS-DOS drives configuration
;;

head besitzt übrigens – anders als tail – keine Follow-Option, da es eher unüblich ist, Dateien "nach oben hin" wachsen zu lassen…

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare