Von Kopf bis Fuß

Zu Befehl: head, tail, cat

01.11.2003
Kleine Tools wie head, tail und cat zeigen den Inhalt von Textdateien an. Sie erfüllen jedoch alle eine spezielle Funktion, die andere Unix-Kommandos nicht bieten.

Zu Befehl

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, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Zum Anzeigen von Textdateien stehen Ihnen unter Linux viele Programme zur Verfügung. Natürlich können Sie jederzeit einen Editor wie Vi oder Emacs oder einen Pager wie less oder more starten, um solche Files zu lesen. Es geht aber auch mit einfachen Tools wie cat, head und tail.

Multifunktional – cat

Das Programm cat verkettet (engl.: "to concatenate") nicht nur mehrere Dateien zu einer, es eignet sich auch dazu, einzelne Files auf der Standardausgabe anzuzeigen. Der einfache Aufruf cat datei.txt bringt den Inhalt der Datei auf den Bildschirm.

Manchmal ist es praktisch, eine Textdatei mit Zeilennummern zu versehen, um beispielsweise bei der Diskussion von Programmlistings auf eine bestimmte Zeile Bezug zu nehmen. Dafür bietet cat die Option -n und gibt damit zu Beginn jeder Zeile die Zeilennummer aus.

Vorsicht allerdings bei binären Formaten: gibt man aus Versehen eine Binärdatei mit cat aus, sind oft nur noch Sonderzeichen zu sehen und auch die Eingabe wird unleserlich (Abbildung 1). Abhilfe schafft hier das Programm reset: Tippen Sie (blind) reset am Prompt und drücken Sie [Return], um das Terminal zu reparieren. Falls auch das nicht hilft, probieren Sie es mit echo [Strg-v][Esc][c][Return].

Abbildung 1: "Binärmüll" auf der Kommandozeile – nicht immer hilft reset

Häufig wird cat dazu verwendet, Dateien durch eine Pipe an ein anderes Programm zu schicken. So lässt sich eine Liste mit cat ausgeben und direkt an das Kommando sort [1] weiterleiten:

$ cat liste.txt | sort
Arnie           42
Egbert          120
Hubert          30
Petronella      100

Die Ausgabe von cat lässt sich mit den für Unix typischen Mitteln umlenken: mit dem Operator > schreiben Sie den Output in die neue datei2:

cat datei1 > datei2

Das funktioniert auch mit mehreren Dateien. Dazu führen Sie die Dateinamen einfach nacheinander auf:

cat datei1 datei2 > datei3

Existiert datei3 noch nicht, wird sie angelegt. Ist sie allerdings schon vorhanden, überschreibt cat sie einfach. Mit einem anderen Operator bringen Sie cat dazu, an vorhandene Dateien anzuhängen:

cat datei1 datei2 >> datei3

Leiten Sie die Ausgabe wie in diesen Beispielen in eine Datei um, verarbeitet cat auch problemlos Binärdateien. So ist es möglich, große Dateien mit split in kleinere Pakete zu zerlegen und sie danach mit cat wieder zusammenzufügen. Anwendungen hierfür sind der Transport von Daten mit Disketten oder das Verschicken über E-Mail.

Einige Newsgruppen wie comp.unix.shell vergeben seit Jahren regelmäßig den "Useless Use of Cat Award"[2]. Der Preis geht an denjenigen, der den unsinnigsten Gebrauch des Kommandos cat vorschlägt – Begründung: "Mit cat sollte man Dateien verketten. Es ist reine Zeitverschwendung, ein einziges File mit nichts zu verknüpfen, und kostet einen Prozess". Unter diesem Gesichtspunkt mögen manche LeserInnen das eine oder andere Beispiel auch als "useless" ansehen. Jedenfalls entspricht auch eine redundante Anwendung von cat dem Unix-Prinzip, kleine Programme mit Hilfe von Pipes zu verketten. Bei moderner Hardware dürften die "Kosten" für einen zusätzlichen Prozess leicht zu verschmerzen sein.

Aller Anfang ist head

Der Name ist Programm: Mit head (engl.: "Kopf") geben Sie die ersten Zeilen einer Datei am Bildschirm aus. Standardmäßig schreibt der Aufruf head datei.txt die ersten zehn Zeilen auf den Bildschirm. Die Option -n nummer verändert diese Vorgabe. Die Konfigurationsdateien im Verzeichnis /etc enthalten in den ersten Zeilen häufig den Namen und Verwendungszweck der Datei. Um von sämtlichen dort liegenden Files die ersten drei Zeilen auszugeben, verwenden Sie den Aufruf head -n 3 *.conf.

Praktisch: Lassen Sie head auf mehr als eine Datei los, fügt das Tool eine optische Trennung ein (Listing 1). Wer auf dieses Feature verzichten möchte, verwendet den Parameter -q (für --quiet).

Listing 1

head

mit mehreren Files gibt Trenner aus

huhn@asteroid:/etc$ head -n 3 *.conf
==> aatv.conf <==
# aatv configuration file.
# Video mode. Choose between PAL, SECAM and NTSC.
==> abcde.conf <==
# System defaults for abcde.
# Nothing in this file is uncommented by default.
#
==> adduser.conf <==
…

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Mit Cat, More, Less, Head und Tail Textdateien betrachten
    Mit praktischen Tools wie Cat, Less oder Head durchforsten Sie nicht nur auf komfortablem Weg den Inhalt von Textdateien, sondern können auch Inhalte kombinieren, Dateiänderungen mitverfolgen oder Logfiles auswerten.
  • Zu Befehl
    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.
  • Hilfreiche Spezialisten
    Die Werkzeuge der Linux-Shell sind oft hochspezialisiert: Einige von ihnen erledigen nur eine einzige Aufgabe, aber die beherrschen sie dann in Perfektion. Die Kombination mehrerer dieser kleinen Tools macht die Shell so leistungsfähig.
  • Textberge bewältigen
    Genießen Sie einen Crashkurs in den Textbeararbeitungs- und Filterfunktionen der Linux-Shell, der Sie auch die schlimmsten Textberge bewältigen lässt.
  • Shell-Tipps
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als mit grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.