Immaniġġja Fajls b'mod effettiv billi tuża Kmandi tar-ras, tad-denb u tal-qtates fil-Linux


Hemm diversi kmandi u programmi pprovduti minn Linux biex tara l-kontenut tal-fajl. Ħidma mal-fajls huwa wieħed mill-kompitu kbar, ħafna mill-utenti tal-kompjuter kemm jekk ikun newbie, utent regolari, utent avvanzat, żviluppatur, admin, eċċ twettaq. Li taħdem ma 'fajls b'mod effettiv u effiċjenti hija arti.

Illum, f'dan l-artikolu se nkunu qed niddiskutu l-kmandi l-aktar popolari msejħa ras, denb u qattus, ħafna minna diġà konxji ta 'kmandi bħal dawn, iżda ftit minna nimplimentah meta jkun meħtieġ.

1. Kap Kmand

Il-kmand tar-ras jaqra l-ewwel għaxar linji ta' kwalunkwe isem ta' fajl partikolari. Is-sintassi bażika tal-kmand tar-ras hija:

head [options] [file(s)]

Pereżempju, il-kmand li ġej se juri l-ewwel għaxar linji tal-fajl bl-isem '/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

Jekk tingħata aktar minn fajl wieħed, head se turi l-ewwel għaxar linji ta 'kull fajl separatament. Pereżempju, il-kmand li ġej se juri għaxar linji ta 'kull fajl.

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

Jekk ikun mixtieq li jiġu rkuprati aktar numru ta 'linji mill-għaxar default, allura l-għażla '-n' tintuża flimkien ma' numru sħiħ li jgħid in-numru ta 'linji li għandhom jiġu rkuprati. Pereżempju, il-kmand li ġej se juri l-ewwel 5 linji mill-fajl '/var/log/yum.log'.

# 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

Fil-fatt, m'hemmx bżonn li tuża l-għażla '-n'. Biss is-sing u speċifika n-numru sħiħ mingħajr spazji biex tikseb l-istess riżultat bħall-kmand ta 'hawn fuq.

# 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

Il-kmand tar-ras jista 'wkoll juri kwalunkwe numru mixtieq ta' bytes billi juża l-għażla '-c' segwit min-numru ta 'bytes li għandhom jintwerew. Pereżempju, il-kmand li ġej se juri l-ewwel 45 byte tal-fajl mogħti.

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

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

2. Kmand tad-denb

Il-kmand tad-denb jippermettilek turi l-aħħar għaxar linji ta 'kwalunkwe fajl ta' test. Simili għall-kmand tar-ras hawn fuq, il-kmand tad-denb jappoġġja wkoll l-għażliet 'n' numru ta 'linji u 'n' numru ta' karattri.

Is-sintassi bażika tal-kmand tad-denb hija:

# tail [options] [filenames]

Pereżempju, il-kmand li ġej se jistampa l-aħħar għaxar linji ta 'fajl imsejjaħ '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

Jekk jiġi pprovdut aktar minn fajl wieħed, tail jistampa l-aħħar għaxar linji ta' kull fajl kif muri hawn taħt.

# 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

Bl-istess mod, tista 'wkoll tipprintja l-aħħar ftit linji billi tuża l-għażla '-n' kif muri hawn taħt.

# 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

Tista’ wkoll tipprintja n-numru ta’ karattri billi tuża l-argument ‘-c’ kif muri hawn taħt.

# tail -c5 access.log

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

3. Kmand tal-qtates

Il-kmand 'qattus' huwa l-aktar għodda universali użata. Tikkopja input standard għal output standard. Il-kmand jappoġġja scrolling, jekk il-fajl tat-test ma jaqbilx mal-iskrin attwali.

Is-sintassi bażika tal-kmand tal-qtates hija:

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

L-aktar użu frekwenti tal-qattus huwa li taqra l-kontenut tal-fajls. Dak kollu li hu meħtieġ biex tiftaħ fajl għall-qari huwa li tittajpja cat segwit minn spazju u l-isem tal-fajl.

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

Il-kmand tal-qtates użat ukoll biex jgħaqqad numru ta 'fajls flimkien.

# 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 

Jista 'jintuża wkoll biex jinħolqu fajls ukoll. Dan jinkiseb billi tesegwixxi qattus segwit mill-operatur ta 'ridirezzjoni tal-produzzjoni u l-isem tal-fajl li għandu jinħoloq.

# cat > tecmint.txt

Tecmint is the only website fully dedicated to Linux.

Nistgħu jkollna custom end maker għall-kmand tal-‘qattus’. Hawnhekk huwa implimentat.

# 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

Qatt tissottovaluta l-qawwa tal-kmand tal-‘qtates’ u tista’ tkun utli għall-ikkupjar ta’ fajls.

# 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

Issa x'inhu l-oppost tal-qattus? Iva huwa 'tac'. 'tac' huwa kmand taħt Linux. Aħjar li turi eżempju ta’ ‘tac’ milli titkellem xi ħaġa dwarha.

Oħloq fajl test bl-ismijiet tax-xahar kollu, b'tali mod li kelma waħda tidher fuq linja.

# 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

Għal aktar eżempji tal-użu tal-kmand tal-qtates, irreferi għall-Użu tal-Kmand tat-13-il qattus

Dak kollu għalissa. Ser nerġa’ nkun hawn b’Artiklu Interessanti ieħor, li ta’ min Inkun Taf. Sa dakinhar ibqa' sintonizzat u mqabbad ma' Tecmint. Tinsiex tagħtina l-feedback siewi tiegħek fit-taqsima tal-kummenti tagħna.