Wie man den Befehl head unter Linux verwendet


Linux
2023-11-21T17:00:20Z

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

version of head command displayed on the terminal

Geben Sie auch den folgenden Befehl ein, um das Hilfemenü des Befehls head auszugeben:

head --help

head command help displayed on the terminal

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

-n oder --lines

Legt die Anzahl der Zeilen fest, die von Anfang an angezeigt werden sollen.

-c oder --bytes

Zeigt die angegebene Anzahl von Bytes von Anfang an an.

-v oder --verbose

Druckt jeden Dateinamen zusammen mit dem Inhalt der Datei aus. Dies ist nützlich, wenn mehrere Dateien auf einmal angezeigt werden sollen.

-q oder --quiet

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.

-z oder --zero-terminated

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

example text file contents are displayed on the terminal using the cat command

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

head command displays the output of the text file on the terminal

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

head command with -n option displaying the first four entries of a text file

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

head command that displays all entries of the text file excluding the last two

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

head command that displays the first 20 characters of a text file on the terminal

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

head command with -c option that excludes the last 13 characters of the text file and displays output on the terminal

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

head command piped with cut command and displaying first characters of each line on the terminal

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}'

head command piped with awk command to display the second word of each line

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

head command with -v option that displays the file content with the file name

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

head command with multiple files as an argument

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

head command that displays two files output without header name on terminal

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

head command piped with grep command

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

head command piped with wc command

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

head command piped with the tail command

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.