Wie man den Befehl head unter Linux verwendet
Linux
2023-11-21T17:00:20Z
Schnelle Links
Das Wichtigste in Kürze
- Der Linux-Befehl head allein, zum Beispiel "head example.txt", listet die ersten zehn Zeilen einer Textdatei oder Eingabe auf.
- Sie können den head-Befehl so anpassen, dass er eine bestimmte Anzahl von Zeilen anzeigt, indem Sie die Option "-n" verwenden, oder die Ausgabe auf bestimmte Bytes beschränken, indem Sie die Option "-c" verwenden.
- Sie können den head-Befehl auch für eine selektive Systemüberwachung in Echtzeit verwenden, indem Sie Protokolle und andere Textdateien analysieren, die sich im Laufe der Zeit ändern können.
Unter Linux gibt es verschiedene Befehle, um den gesamten Inhalt einer Textdatei zu erhalten. Was aber, wenn Sie nur einen bestimmten Teil oder ein paar Anfangszeilen benötigen? Der Befehl head gibt den Anfangsinhalt einer Datei auf dem Terminal aus.
Was ist der head-Befehl unter Linux?
Linux verfügt über mehrere Befehle zur Anzeige von Dateiinhalten. Die beliebtesten und am häufigsten verwendeten sind die Befehle cat
, less
und view
. Diese Befehle sind jedoch eher für die Anzeige großer Teile von Dateien geeignet. Wenn Sie nur eine bestimmte Anzahl von Zeilen einer Datei anzeigen möchten, steht Ihnen der Befehl head
zur Verfügung.
Der Befehl head
bewirkt das Gegenteil von dem, was der Befehl tail
bewirkt. Er zeigt den Anfangsinhalt einer Datei an, während der Befehl tail
die Endzeilen einer Datei ausgibt. In der Standardeinstellung zeigt head
die ersten 10 Zeilen an. Wenn Sie mehr oder weniger als 10 Zeilen ausgeben möchten, verwenden Sie einfach die Option -n
. In ähnlicher Weise kann die Option -c
mit dem Befehl head
die Ausgabe auf eine bestimmte Bytezahl beschränken.
Mit dem Befehl head
können Sie Protokolle und andere Textdateien analysieren, die sich im Laufe der Zeit verändern können. Sie können den Befehl head
in Verbindung mit anderen Befehlen für eine selektive Echtzeitüberwachung verwenden.
Die Syntax des 3-Befehls
ist einfach zu verstehen und ähnelt der anderer Linux-Befehle:
head [OPTION]... [FILE]...
Der Befehl head
kann eine oder mehrere Dateien als Eingabe akzeptieren. Er akzeptiert auch einige Optionen, die sein Verhalten und seine Ausgabe verändern. Wenn keine Datei angegeben wird, liest der 3-Befehl
von der Standardeingabe.
Um die Version des 3-Befehls
zu überprüfen, verwenden Sie:
head --version
Geben Sie auch den folgenden Befehl ein, um das Hilfemenü des Befehls head
auszugeben:
head --help
head Befehlsoptionen
Sie können verschiedene Optionen mit dem head
befehl unter Linux. Jede Option hat eine kurze und eine erweiterte Form, die mit der Basissyntax verwendet werden kann. Sie steuert, wie viele Daten der 3-Befehl
in der normalen Ausgabe ausgibt. So können Sie beispielsweise entscheiden, ob der Header in die Dateiausgabe aufgenommen werden soll oder nicht.
Die folgende Tabelle enthält die Liste der für den Befehl head
verfügbaren Optionen:
Option | Beschreibung |
---|---|
| Legt die Anzahl der Zeilen fest, die von Anfang an angezeigt werden sollen. |
| Zeigt die angegebene Anzahl von Bytes von Anfang an an. |
| Druckt jeden Dateinamen zusammen mit dem Inhalt der Datei aus. Dies ist nützlich, wenn mehrere Dateien auf einmal angezeigt werden sollen. |
| Unterdrückt den Ausdruck von Dateinamen vor der Anzeige des Inhalts. Dies ist nützlich, wenn nur eine Datei angezeigt werden soll oder wenn die Ausgabe an einen anderen Befehl weitergeleitet werden soll. |
| Ersetzt das Newline-Zeichen am Ende jeder Zeile durch NULL. |
Bevor wir zur Demonstration des Befehls head
übergehen, wollen wir uns zunächst den Inhalt der Beispieldatei ansehen. Verwenden Sie den Befehl cat
gefolgt vom Dateinamen, um alle Daten der Beispieldatei zu erhalten.
cat beispiel.txt
Diese Beispieldatei enthält 15 Textzeilen.
Lassen Sie uns nun den Inhalt der Datei example.txt mit dem Befehl head
ausgeben. Der Befehl head
gibt ohne Optionen die ersten 10 Zeilen der Datei aus.
kopf beispiel.txt
Eine bestimmte Anzahl von Zeilen erhalten
Um eine bestimmte Anzahl von Zeilen mit dem Befehl head
anzuzeigen, fügen Sie die Option -n
(22
) gefolgt vom Dateinamen hinzu.
Um die ersten vier Zeilen von example.txt anzuzeigen, führen Sie aus:
head -n 4 beispiel.txt
In ähnlicher Weise kann mit der Option -n
auch eine negative Zahl angegeben werden. Damit werden die letzten N Zeilen einer Datei übersprungen. Dies ist hilfreich, wenn Sie einige Zeilen am Ende einer Datei auslassen wollen.
Um zum Beispiel die letzten beiden Zeilen der Datei example.txt zu überspringen, führen Sie aus
head -n -2 beispiel.txt
Bestimmte Anzahl von Bytes mit head abrufen
Ein weiterer Anwendungsfall für den Befehl head
ist es, eine bestimmte Anzahl von Bytes vom Anfang einer Datei zu erhalten. Dazu können Sie die Option -c
(24
) gefolgt von einer Ziffer verwenden.
Nehmen wir an, Sie haben die gleiche Datei beispiel.txt, die 15 Zeilen Text enthält. Um die ersten 20 Bytes zu erhalten, führen Sie aus:
head -c 20 beispiel.txt
Da die Datei beispiel.txt ASCII-Zeichen enthält, nimmt jedes Zeichen einschließlich Leerzeichen und Zeilenumbruch ein Byte ein.
Eine negative Zahl kann auch mit der Option -c
definiert werden. Damit werden alle Bytes einer Datei angezeigt, mit Ausnahme der letzten N Bytes. Um alle Bytes in example.txt anzuzeigen, außer den letzten 13 Bytes, führen Sie aus:
head -c -13 beispiel.txt
Bestimmte Zeichen in einer Datei anzeigen
Manchmal müssen Sie einen bestimmten Teil einer Datei anzeigen lassen, anstatt den gesamten Inhalt der Datei. Nehmen wir an, Sie haben eine Datei mit mehreren Zeilen Inhalt und möchten die ersten oder letzten Zeichen jeder Zeile sehen. Hierfür müssen Sie den Befehl head
mit anderen Textverarbeitungsbefehlen wie cut
, awk
oder sed
verknüpfen.
Um zum Beispiel den ersten Buchstaben jeder Zeile von example.txt abzurufen, verwenden Sie den Befehl cut
mit der Option -c
gefolgt von der Zeichenposition. Standardmäßig erhalten Sie das Anfangszeichen der ersten 10 Zeilen, es sei denn, Sie geben die Anzahl der Ausgabezeilen an.
head beispiel.txt | cut -c 1
Um das letzte Wort jeder Zeile von example.txt anzuzeigen, verwenden Sie den Befehl awk
mit dem Muster {print $NF}
. Verwenden Sie den Pipe-Operator (|), um die Befehle head
und awk
zu verbinden. Auf diese Weise dient die Ausgabe des Befehls head
als Eingabe für den Befehl awk
.
Wenn Sie {print $NF}
verwenden, wird awk
angewiesen, den Wert des letzten Feldes für jede Zeile der Eingabe zu drucken. Wenn Sie $NF
verwenden, müssen Sie nicht im Voraus wissen, wie viele Felder jede Zeile hat; awk
erledigt das automatisch für Sie und extrahiert das letzte Feld.
head beispiel.txt | awk '{print $NF}'
Die Kopfzeile/Dateinamen mit head sehen
Wenn der Befehl head
mit einer einzelnen Datei verwendet wird, wird der Dateiname standardmäßig nicht ausgegeben. Er kann jedoch den Dateinamen anzeigen, wenn er mit mehreren Dateien verwendet wird.
Verwenden Sie die Option -v
, um den Dateinamen zusammen mit seinem Inhalt zu erhalten. Diese Option gibt eine Kopfzeile mit dem Dateinamen der angegebenen Datei aus.
head -v beispiel.txt
Anzeige des Inhalts mehrerer Dateien mit head
Der Befehl head
kann auch mehrere Dateinamen als Argumente annehmen und deren Inhalt der Reihe nach anzeigen. Nehmen wir zwei Dateien namens beispiel.txt und test.txt, die mehrere Zeilen Inhalt enthalten. Der 3-Befehl
zeigt nun beide Dateinamen zusammen mit ihrem Inhalt an.
head beispiel.txt test.txt
Sie können den Befehl head
mit der Option -q
verwenden, um den Inhalt mehrerer Dateien anzuzeigen, ohne dass deren Namen angezeigt werden.
head -q beispiel.txt test.txt
Verwendung von head mit anderen Befehlen
Der Befehl head
kann auch mit anderen Befehlen verwendet werden, um verschiedene Aufgaben auszuführen. Sie können ihn mit den Befehlen tail
, more
, wc
und grep
verwenden.
Sie können den Befehl head
mit grep
verknüpfen, um alle Zeilen zu erhalten, die das angegebene Muster enthalten.
head beispiel.txt | grep ch
Die obige Syntax zeigt alle Zeilen in der Datei example.txt an, die "ch" enthalten.
Sie können den Befehl head
auch über die Pipeline mit dem Befehl wc
verbinden. Diese beiden Befehle geben die Gesamtzahl der Zeilen, Wörter und Bytes in der Datei aus.
Um die Anzahl der Zeilen, Wörter und Bytes in der Datei example.txt zu ermitteln, führen Sie aus:
head beispiel.txt | wc
Sie können die Befehle head
und tail
zusammen mit dem Pipe-Symbol verwenden, um einen bestimmten Bereich von Zeilen einer Datei anzuzeigen. Der Befehl head
zeigt die Anfangszeilen einer Datei an, während der Befehl tail
die Endzeilen einer Datei ausgibt.
Nehmen wir die Datei example.txt, die 15 Zeilen enthält. Um den Inhalt zwischen der 5. und 11. Zeile anzuzeigen, führen Sie aus
head -n 10 beispiel.txt | tail -n 5
Dieser Befehl verwendet zunächst den Befehl head -n 10
, um die ersten 10 Zeilen der Datei anzuzeigen. Danach wird die Ausgabe an den Befehl tail -n 5
weitergeleitet. Mit dem Befehl tail
erhalten wir die endgültige Ausgabe der Entitäten zwischen der 5. und 11.
Möchten Sie die Zeilenenden mit head anzeigen?
Der Befehl head
befasst sich, wie der Name schon sagt, hauptsächlich mit den Anfangszeilen einer Datei. Der Befehl tail
hingegen dient dazu, die abschließenden Zeilen einer Textdatei darzustellen. Normalerweise werden neue Daten am Ende einer Datei hinzugefügt, so dass der Befehl tail
eine schnelle und einfache Möglichkeit ist, die letzten Ergänzungen zu einer Datei zu sehen. Er kann auch eine Datei überwachen und jeden neuen Texteintrag in diese Datei anzeigen, sobald er erfolgt.
Genau wie der Befehl head
können Sie auch tail
um mehrere Dateien zu überwachen oder die Anzahl der Bytes zu zählen. Es kann auch ein bestimmtes Muster oder einen Texteinschluss in der Textdatei überprüfen. Dies macht es zu einem großartigen Werkzeug zur Überwachung von Protokolldateien.