Verwalte Dateien Effektiv mam Kapp, Schwanz a Kaz Kommandoen am Linux
Et gi verschidde Kommandoen a Programmer vu Linux zur Verfügung gestallt fir den Inhalt vun der Datei ze gesinn. Mat Dateien ze schaffen ass eng vun den beängschtegend Aufgaben, déi meescht vun de Computerbenotzer sief et Newbie, regelméisseg Benotzer, fortgeschratt Benotzer, Entwéckler, Admin, etc. Mat Dateien effektiv an effizient ze schaffen ass eng Konscht.
Haut, an dësem Artikel wäerte mir iwwer déi populärste Kommandoen diskutéieren, genannt Kapp, Schwanz a Kaz, déi meescht vun eis si scho bewosst vun esou Kommandoen, awer ganz wéineg vun eis implementéieren se wann néideg.
1. Kapp Kommando
De Kappbefehl liest déi éischt zéng Zeilen vun engem bestëmmten Dateinumm. D'Basis Syntax vum Kapp Kommando ass:
head [options] [file(s)]
Zum Beispill gëtt de folgende Kommando déi éischt zéng Zeilen vun der Datei mam Numm '/etc/passwd'.
# 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
Wann méi wéi ee Fichier gëtt, Kapp wäert weisen déi éischt zéng Zeilen vun all Fichier getrennt. Zum Beispill wäert de folgende Kommando zéng Zeilen vun all Datei weisen.
# 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:::
Wann et gewënscht ass méi Unzuel vun Zeilen ze recuperéieren wéi d'Standardzéng, da gëtt d'Optioun '-n' benotzt zesumme mat enger ganzer Zuel, déi d'Zuel vun den Zeilen erzielt. Zum Beispill gëtt de folgende Kommando déi éischt 5 Zeilen aus der Datei '/var/log/yum.log' Datei.
# 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
Tatsächlech ass et net néideg '-n' Optioun ze benotzen. Just den Bindestrich a spezifizéiert d'Ganzzuel ouni Plazen fir datselwecht Resultat ze kréien wéi de Kommando uewen.
# 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
De Kappbefehl kann och all gewënschte Zuel vu Bytes mat der '-c' Optioun weisen, gefollegt vun der Unzuel vun de Bytes déi ugewise ginn. Zum Beispill wäert de folgende Kommando déi éischt 45 Bytes vun der gegebener Datei weisen.
# head -c45 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el
2. Schwäif Kommando
De Schwanzbefehl erlaabt Iech déi lescht zéng Zeilen vun all Textdatei ze weisen. Ähnlech wéi de Kappbefehl uewendriwwer, ënnerstëtzen de Schwanzkommando och Optiounen 'n' Zuel vun Zeilen an 'n' Zuel vun Zeechen.
D'Basis Syntax vum Schwanzbefehl ass:
# tail [options] [filenames]
Zum Beispill dréckt de folgende Kommando déi lescht zéng Zeilen vun enger Datei mam Numm 'access.log'.
# 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
Wa méi wéi eng Datei gëtt, dréckt Schwänz déi lescht zéng Zeilen vun all Datei wéi hei ënnendrënner.
# 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
Ähnlech kënnt Dir och déi lescht Zeilen drécken mat der '-n' Optioun wéi hei ënnendrënner.
# 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
Dir kënnt och d'Zuel vun den Zeechen drécken mat '-c' Argument wéi hei ënnendrënner.
# tail -c5 access.log ymantec.com:443 - NONE/- text/html
3. Kaz Kommando
De Kommando 'cat' ass am meeschte verbreet, universal Tool. Et kopéiert Standard Input op Standard Output. De Kommando ënnerstëtzt Scrollen, wann Textdatei net op den aktuellen Écran passt.
D'Basis Syntax vum Cat Kommando ass:
# cat [options] [filenames] [-] [filenames]
Déi heefegst Notzung vu Kaz ass den Inhalt vun de Dateien ze liesen. Alles wat erfuerderlech ass fir eng Datei opzemaachen fir ze liesen ass Cat ze tippen gefollegt vun engem Raum an den Dateinumm.
# 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 …
D'Katzebefehl huet och benotzt fir d'Zuel vu Dateien zesummen ze verbannen.
# echo 'Hi Tecmint-Team' > 1 # echo 'Keep connected' > 2 # echo 'Share your thought' > 3 # echo 'connect us [email ' > 4
# cat 1 2 3 4 > 5
# cat 5 Hi Tecmint-Team Keep connected Share your thought connect us [email
Et kann och benotzt ginn fir Dateien ze kreéieren. Et gëtt erreecht andeems Dir Cat ausféiert, gefollegt vum Ausgangsvirleedungsoperateur an de Dateinumm, deen erstallt gëtt.
# cat > tecmint.txt Tecmint is the only website fully dedicated to Linux.
Mir kënne personaliséierten Enn Hiersteller fir 'Katze' Kommando hunn. Hei gëtt et ëmgesat.
# 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
Ënnerschätzt ni d'Kraaft vum 'cat' Kommando a kann nëtzlech si fir Dateien ze kopéieren.
# 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
Elo wat ass de Géigendeel vu Kaz? Jo et ass 'Tac'. 'tac' ass e Kommando ënner Linux. Et ass besser e Beispill vun Tac ze weisen wéi eppes doriwwer ze schwätzen.
Erstellt eng Textdatei mat den Nimm vum ganze Mount, sou datt ee Wuert op enger Zeil steet.
# 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
Fir méi Beispiller vu Kaz Kommando Notzung, kuckt op d'13 Cat Command Usage
Dat ass alles fir elo. Ech wäert erëm hei mat engem aneren Interessante Artikel sinn, derwäert ze wëssen. Bis dann bleift ofgeschloss a verbonne mat Tecmint. Vergiesst net eis Äre wäertvolle Feedback an eiser Kommentarsektioun ze ginn.