Es gibt mehrere Befehle und Programme von Linux zur Anzeige des Inhalts einer Datei. Das Arbeiten mit Dateien ist eine der anspruchsvollsten Aufgaben, die die meisten Computerbenutzer – seien es Neulinge, regelmäßige Benutzer, fortgeschrittene Benutzer, Entwickler, Administratoren usw. – ausführen. Das effektive und effiziente Arbeiten mit Dateien ist eine Kunst.

Heute werden wir in diesem Artikel die beliebtesten Bons heißen head, tail und cat diskutieren. Die meisten von uns sind bereits mit solchen Befehlen vertraut, verwenden sie jedoch nur selten, wenn es gebraucht wird.
1. head Befehl
Der head Befehl liest die ersten zehn Zeilen eines beliebigen Dateinamens. Die grundlegende Syntax des head Befehls lautet:
head [options] [file(s)]
Zum Beispiel werden die folgenden Befehle die ersten zehn Zeilen der Datei mit dem Namen ‘/etc/passwd‘ anzeigen.
# head /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh
Wenn mehr als eine Datei angegeben wird, zeigt head die ersten zehn Zeilen jeder Datei separat an. Die folgenden Befehle zeigen beispielsweise zehn Zeilen jeder Datei an.
# head /etc/passwd /etc/shadow ==> /etc/passwd <== root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin ==> /etc/shadow <== root:$6$85e1:15740:0:99999:7::: bin:*:15513:0:99999:7::: daemon:*:15513:0:99999:7::: adm:*:15513:0:99999:7::: lp:*:15513:0:99999:7::: sync:*:15513:0:99999:7::: shutdown:*:15513:0:99999:7::: halt:*:15513:0:99999:7::: mail:*:15513:0:99999:7::: uucp:*:15513:0:99999:7:::
Wenn mehr Zeilen als die Standardzahl von zehn zurückgegeben werden sollen, wird die ‘-n‘ Option zusammen mit einer ganzen Zahl verwendet, die angibt, wie viele Zeilen zurückgegeben werden sollen. Zum Beispiel werden die folgenden Befehle die ersten 5 Zeilen aus der Datei ‘/var/log/yum.log‘ anzeigen.
# head -n5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
Eigentlich muss die ‘-n‘ Option nicht verwendet werden. Geben Sie einfach den Bindestrich gefolgt von der Zahl ohne Leerzeichen ein, um das gleiche Ergebnis wie oben zu erhalten.
# head -5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch
Der head-Befehl kann auch eine beliebige Anzahl von Bytes mithilfe der Option ‘-c‘ gefolgt von der Anzahl der anzuzeigenden Bytes anzeigen. Zum Beispiel zeigt der folgende Befehl die ersten 45 Bytes der angegebenen Datei an.
# head -c45 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el
2. tail-Befehl
Der tail-Befehl ermöglicht es, die letzten zehn Zeilen einer Textdatei anzuzeigen. Ähnlich wie der head-Befehl oben unterstützt auch der tail-Befehl die Optionen ‘n‘ für die Anzahl der Zeilen und ‘n‘ für die Anzahl der Zeichen.
Die grundlegende Syntax des tail-Befehls lautet:
# tail [options] [filenames]
Zum Beispiel gibt der folgende Befehl die letzten zehn Zeilen einer Datei mit dem Namen ‘access.log‘ aus.
# tail access.log 1390288226.042 0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210 1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284 70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362 570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
Wenn mehrere Dateien angegeben werden, gibt tail die letzten zehn Zeilen jeder Datei aus, wie unten gezeigt.
# tail access.log error.log ==> access.log <== 1390288226.042 0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210 1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284 70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362 570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html ==> error_log <== [Sun Mar 30 03:16:03 2014] [notice] Digest: generating secret for digest authentication ... [Sun Mar 30 03:16:03 2014] [notice] Digest: done [Sun Mar 30 03:16:03 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations
Ebenso können Sie auch die letzten Zeilen mit der Option ‘-n‘ wie unten gezeigt ausgeben.
# tail -5 access.log 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html
Sie können auch die Anzahl der Zeichen mit dem Argument ‘-c’ wie unten gezeigt ausgeben.
# tail -c5 access.log ymantec.com:443 - NONE/- text/html
3. cat-Befehl
Der ‘cat‘-Befehl ist das am weitesten verbreitete, universelle Werkzeug. Es kopiert die Standard-Eingabe in die Standard-Ausgabe. Der Befehl unterstützt Scrollen, wenn die Textdatei nicht auf den aktuellen Bildschirm passt.
Die grundlegende Syntax des cat-Befehls lautet:
# cat [options] [filenames] [-] [filenames]
Der häufigste Einsatz von cat besteht darin, den Inhalt von Dateien zu lesen. Alles, was zum Öffnen einer Datei zum Lesen erforderlich ist, ist das Tippen von cat gefolgt von einem Leerzeichen und dem Dateinamen.
# cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh …
Der cat-Befehl wird auch verwendet, um eine Reihe von Dateien zusammenzufügen.
# echo 'Hi Tecmint-Team' > 1 # echo 'Keep connected' > 2 # echo 'Share your thought' > 3 # echo 'connect us [email protected]' > 4
# cat 1 2 3 4 > 5
# cat 5 Hi Tecmint-Team Keep connected Share your thought connect us [email protected]
Es kann auch verwendet werden, um Dateien zu erstellen. Dies wird durch Ausführen von cat gefolgt vom Ausgaberichtungsoperator und dem Dateinamen, der erstellt werden soll, erreicht.
# cat > tecmint.txt Tecmint is the only website fully dedicated to Linux.
Wir können einen benutzerdefinierten Endekennzeichner für den Befehl ‚cat‘ haben. Hier ist er implementiert.
# cat > test.txt << end I am Avishek Here i am writing this post Hope your are enjoying end
# cat test.txt I am Avishek Here i am writing this post Hope your are enjoying
Unterschätzen Sie niemals die Kraft des Befehls ‚cat‘ und können nützlich sein zum Kopieren von Dateien.
# cat avi.txt I am a Programmer by birth and Admin by profession
# cat avi.txt > avi1.txt
# cat avi1.txt I am a Programmer by birth and Admin by profession
Jetzt, was ist das Gegenteil von ‚cat‘? Ja, es ist ‚tac‘. ‚tac‘ ist ein Befehl unter Linux. Es ist besser, ein Beispiel für ‚tac‘ zu zeigen, als darüber zu sprechen.
Erstellen Sie eine Textdatei mit den Namen aller Monate, sodass ein Wort pro Zeile erscheint.
# cat month January February March April May June July August September October November December
# tac month December November October September August July June May April March February January
Für weitere Beispiele zur Verwendung des Befehls ‚cat‘ siehe die 13 cat Befehlsverwendung
Das ist alles für jetzt. Ich werde hier wieder mit einem weiteren interessanten Artikel sein, der es wert ist, bekannt zu sein. Bis dahin bleiben Sie dran und verbunden mit Tecmint. Vergessen Sie nicht, uns Ihr wertvolles Feedback in unserem Kommentarbereich zu geben.
Source:
https://www.tecmint.com/view-contents-of-file-in-linux/