Es gibt viele Befehle, um den Inhalt von Dateien in Linux anzuzeigen. Darunter der tail
und head
Befehle drucken die Ausgabe der letzten bzw. ersten zehn Zeilen einer Datei. In einigen Fällen erstellt die Ausgabe oder der Fehler Ihres gesendeten Jobs oder Skripts eine sehr große Datei und das neueste Ergebnis wird am Ende der Datei gedruckt. Sie können tail
verwenden , anstelle der cat
Befehl, um nur die letzten paar Zeilen der Datei anzuzeigen. Manchmal benötigen Sie mehrere Optionen mit dem tail
Befehl, um den Inhalt der Datei korrekt anzuzeigen. Im Folgenden demonstriere ich die Verwendung von tail
und head
Befehle.
Die Zusammenfassung beider Befehle lautet wie folgt:
tail [OPTION]... [FILE]...
head [OPTION]... [FILE]...
Ich habe auch zwei Begrüßungsdateien in verschiedenen Sprachen mit Zeilennummern erstellt. Jede Datei enthält insgesamt 15 Zeilen. Sehen wir uns den Inhalt der Dateien mit einem einfachen cat
an Befehl:
root@jaibhim:~# cat greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# cat greetings2.txt
1 Good Morning
2 Good Morning
3 Good Morning
4 Good Morning
5 Good Morning
6 Good Morning
7 Good Morning
8 Good Morning
9 Good Morning
10 Good Morning
11 Good Morning
12 Good Morning
13 Good Morning
14 Good Morning
15 Good Morning
Jetzt verwende ich sowohl den tail
und head
Befehle ohne Optionen zum Anzeigen der greetings1.txt
Datei. Der tail
Befehl gibt mir eine Ausgabe der letzten zehn Zeilen, während der head
Befehl gibt mir die ersten zehn Zeilen.
root@jaibhim:~# tail greetings1.txt
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# head greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
Im obigen Beispiel können Sie sehen, dass beide Befehle die ersten und letzten zehn Zeilen der Datei drucken.
Sie können die Anzahl der angezeigten Zeilen für beide Befehle mit der Option -n
konfigurieren .
root@jaibhim:~# tail -n 3 greetings1.txt
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# head -n 3 greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
Beide Befehle können auch für mehrere Dateien verwendet werden. Ich gebe den Namen beider Dateien mit einem Leerzeichen dazwischen an und es druckt die Ausgabe. Im folgenden Beispiel habe ich die Option -n
verwendet um die Ausgabe einzuschränken. Wenn ich das -n
überspringe Option drucken die Befehle die standardmäßigen zehn Zeilen jeder Datei. Wie unten gezeigt, habe ich mehr als eine Datei als Argument verwendet, und beide Befehle geben vor der Ausgabe jeder Datei einen einzeiligen Header aus:
root@jaibhim:~# tail -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
==> greetings2.txt <==
13 Good Morning
14 Good Morning
15 Good Morning
root@jaibhim:~# head -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
==> greetings2.txt <==
1 Good Morning
2 Good Morning
3 Good Morning
Die wichtigste Option für den tail
Befehl ist -f
. Wenn Benutzer einen Job oder ein Skript ausführen, werden in einigen Fällen Protokoll- oder Fehlerdateien erstellt. Ich muss die Protokolldatei verfolgen, um festzustellen, ob das jeweilige Skript einwandfrei funktioniert oder nicht. Zu diesem Zeitpunkt muss ich die Option -f
verwenden mit dem tail
Befehl, der die Ausgabe der neuen Zeilen ausgibt, die vom Skript erstellt werden. Ein weiteres Beispiel, wo Sie die Option -f
verwenden können mit dem tail
Befehl ist /var/log/messages
Datei.
Hier ist ein einfaches Skript, das im Hintergrund läuft und mit einer Verzögerung von einer Sekunde an jeder Zeile einzelne Wörter hinzufügt:
for i in {16..100}; do echo “$i JaiBhim” >> greetings1.txt; sleep 1; done &
Hinweis :Ich habe &
verwendet am Ende des Befehls, damit das Skript im Hintergrund läuft.
Verwenden Sie nun auf demselben Terminal den tail
Befehl mit der Option -f
und den Dateinamen als Argument. Sie können sehen, dass die neue Zeile in derselben Datei hinzugefügt wird:
tail -f greetings1.txt
Schluß
Wie Sie sehen können, sind sowohl der tail
und der head
Befehle sind sehr nützlich, um genau zu steuern, welcher Dateiinhalt auf dem Bildschirm gedruckt wird. Probieren Sie sie aus!
[ Möchten Sie Red Hat Enterprise Linux ausprobieren? Laden Sie es jetzt kostenlos herunter. ]