Stjórnaðu skrám á áhrifaríkan hátt með því að nota höfuð-, hala- og kattaskipanir í Linux


Það eru nokkrar skipanir og forrit sem Linux býður upp á til að skoða innihald skráar. Að vinna með skrár er eitt af ógnvekjandi verkefnum, flestir tölvunotendur hvort sem það er nýliði, venjulegur notandi, háþróaður notandi, verktaki, stjórnandi osfrv. Að vinna með skrár á áhrifaríkan og skilvirkan hátt er list.

Í dag, í þessari grein, munum við ræða vinsælustu skipanirnar sem kallast höfuð, hali og köttur, flest okkar eru þegar meðvituð um slíkar skipanir, en mjög fá okkar útfæra þær þegar þörf krefur.

1. höfuð Stjórn

Head skipunin les fyrstu tíu línurnar í hvaða skráarheiti sem er. Grunnsetningafræði höfuðskipunar er:

head [options] [file(s)]

Til dæmis mun eftirfarandi skipun sýna fyrstu tíu línurnar í skránni sem heitir '/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

Ef fleiri en ein skrá er gefin upp mun head sýna fyrstu tíu línurnar í hverri skrá fyrir sig. Til dæmis mun eftirfarandi skipun sýna tíu línur af hverri skrá.

# 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:::

Ef það er óskað eftir að sækja fleiri línur en sjálfgefna tíu, þá er '-n' valkosturinn notaður ásamt heiltölu sem segir til um fjölda lína sem á að sækja. Til dæmis mun eftirfarandi skipun sýna fyrstu 5 línurnar úr skránni '/var/log/yum.log' skrá.

# 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

Reyndar er engin þörf á að nota „-n“ valkostinn. Bara bandstrikið og tilgreindu heiltöluna án bils til að fá sömu niðurstöðu og skipunin hér að ofan.

# 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

Höfuðskipunin getur einnig sýnt hvaða bætafjölda sem þú vilt með því að nota '-c' valkostinn og síðan fjölda bæta sem á að sýna. Til dæmis mun eftirfarandi skipun sýna fyrstu 45 bætin af tiltekinni skrá.

# head -c45 /var/log/yum.log

Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el

2. hala Stjórn

Skotskipunin gerir þér kleift að birta síðustu tíu línurnar af hvaða textaskrá sem er. Svipað og höfuðskipunin hér að ofan styður halaskipunin einnig valkosti 'n' fjölda lína og 'n' fjölda stafa.

Grunnsetningafræði halaskipunar er:

# tail [options] [filenames]

Til dæmis mun eftirfarandi skipun prenta síðustu tíu línurnar í skrá sem kallast '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

Ef fleiri en ein skrá fylgja með mun tail prenta síðustu tíu línurnar af hverri skrá eins og sýnt er hér að neðan.

# 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

Á sama hátt geturðu líka prentað síðustu línurnar með því að nota '-n' valkostinn eins og sýnt er hér að neðan.

# 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

Þú getur líka prentað fjölda stafa með því að nota „-c“ rök eins og sýnt er hér að neðan.

# tail -c5 access.log

ymantec.com:443 - NONE/- text/html

3. köttur Stjórn

„cat“ skipunin er mest notað, alhliða tól. Það afritar staðlað inntak yfir í staðlað úttak. Skipunin styður skrun ef textaskrá passar ekki við núverandi skjá.

Grunnsetningafræði kattaskipunar er:

# cat [options] [filenames] [-] [filenames]

Algengasta notkun köttur er að lesa innihald skráa. Allt sem þarf til að opna skrá til lestrar er að slá inn cat og síðan bil og skráarnafnið.

# 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 
…

Cat skipunin er einnig notuð til að tengja fjölda skráa saman.

# 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 

Það er líka hægt að nota til að búa til skrár. Það er náð með því að keyra cat fylgt eftir með úttaksframvísunarstjórnanda og skráarnafninu sem á að búa til.

# cat > tecmint.txt

Tecmint is the only website fully dedicated to Linux.

Við getum haft sérsniðna lokaframleiðanda fyrir „kött“ skipun. Hér er það útfært.

# 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

Aldrei vanmeta kraft ‘cat’ skipunarinnar og getur verið gagnleg til að afrita skrár.

# 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

Nú hvað er andstæðan við kött? Já það er „tac“. 'tac' er skipun undir Linux. Það er betra að sýna dæmi um „tac“ en að tala nokkuð um það.

Búðu til textaskrá með nöfnum allra mánaðarins, þannig að eitt orð birtist á línu.

# 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

Fyrir fleiri dæmi um notkun kattaskipana, sjáðu 13 cat Command Usage

Það er allt í bili. Ég kem hér aftur með aðra áhugaverða grein, þess virði að vita. Fylgstu með og tengdu við Tecmint þangað til. Ekki gleyma að veita okkur verðmæta endurgjöf þína í athugasemdahlutanum okkar.