Sarrafa Fayiloli yadda ya kamata ta amfani da kai, wutsiya da Dokokin cat a cikin Linux


Akwai umarni da shirye-shirye da yawa daga Linux don duba abubuwan da ke cikin fayil. Yin aiki tare da fayiloli yana ɗaya daga cikin ɗawainiya mai ban tsoro, yawancin masu amfani da kwamfuta zama sabon mai amfani, mai amfani na yau da kullun, mai amfani da ci gaba, mai haɓakawa, mai gudanarwa, da sauransu yana aiwatarwa. Yin aiki tare da fayiloli yadda ya kamata da inganci fasaha ce.

A yau, a cikin wannan labarin za mu tattauna mafi shahararrun umarni da ake kira kai, wutsiya da cat, yawancin mu sun riga sun san irin waɗannan dokokin, amma kaɗan daga cikin mu suna aiwatar da shi lokacin da ake bukata.

1. Shugaban Umurni

Umurnin shugaban yana karanta layuka goma na farko na kowane sunan fayil da aka bayar. Ainihin tsarin haɗin kai na umarni shine:

head [options] [file(s)]

Misali, umarni mai zuwa zai nuna layin goma na farko na fayil mai suna '/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

Idan an ba da fayil fiye da ɗaya, shugaban zai nuna layuka goma na farko na kowane fayil daban. Misali, umarni mai zuwa zai nuna layi goma na kowane fayil.

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

Idan ana so a maido da adadin layukan da aka fi so fiye da guda goma, to za a yi amfani da zaɓi na ‘-n’ tare da adadin layukan da za a dawo da su. Misali, umarni mai zuwa zai nuna layin farko na 5 daga fayil ɗin '/var/log/yum.log'fayil.

# 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

A zahiri, babu buƙatar amfani da zaɓi '-n'. Kawai saƙa kuma saka lamba ba tare da sarari ba don samun sakamako iri ɗaya kamar umarnin da ke sama.

# 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

Umurnin kai kuma yana iya nuna kowane adadin bytes da ake so ta amfani da zaɓi '-c' sannan adadin bytes da za a nuna. Misali, umarni mai zuwa zai nuna baiti 45 na farko na fayil ɗin da aka bayar.

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

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

2. Umurnin wutsiya

Umurnin wutsiya yana ba ku damar nuna layi goma na ƙarshe na kowane fayil ɗin rubutu. Mai kama da umarnin kai na sama, umarnin wutsiya kuma yana goyan bayan zaɓuɓɓuka  'n' adadin layukan da 'n' adadin haruffa.

Ainihin tsarin haɗin gwiwar umarnin wutsiya shine:

# tail [options] [filenames]

Misali, umarni mai zuwa zai buga layin goma na ƙarshe na fayil da ake kira '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

Idan an samar da fayil fiye da ɗaya, wutsiya za ta buga layi goma na ƙarshe na kowane fayil kamar yadda aka nuna a ƙasa.

# 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

Hakazalika, zaku iya buga ƴan layukan ƙarshe ta amfani da zaɓin '-n' kamar yadda aka nuna a ƙasa.

# 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

Hakanan zaka iya buga adadin haruffa ta amfani da hujjar '-c' kamar yadda aka nuna a ƙasa.

# tail -c5 access.log

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

3. Kwamandan cat

An fi amfani da umarnin 'cat', kayan aiki na duniya. Yana kwafin daidaitaccen shigarwar zuwa daidaitaccen fitarwa. Umurnin yana goyan bayan gungurawa, idan fayil ɗin rubutu bai dace da allon na yanzu ba.

Ainihin ma'anar umarnin cat shine:

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

Mafi yawan amfani da cat shine karanta abubuwan da ke cikin fayiloli. Duk abin da ake buƙata don buɗe fayil don karantawa shine a buga cat tare da sarari da sunan fayil.

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

Hakanan ana amfani da umarnin cat don haɗa adadin fayiloli tare.

# 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 

Hakanan ana iya amfani dashi don ƙirƙirar fayiloli kuma. Ana samunsa ta hanyar aiwatar da cat sannan mai sarrafa kayan sarrafawa da sunan fayil ɗin da za a ƙirƙira.

# cat > tecmint.txt

Tecmint is the only website fully dedicated to Linux.

Za mu iya samun mai yin ƙarshen al'ada don umarnin 'cat'. Anan ana aiwatar da shi.

# 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

Kada a taɓa yin la'akari da ikon  'cat' umurnin kuma yana iya zama da amfani don kwafin fayiloli.

# 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

Yanzu menene akasin cat? Iya 'tac'. 'tac' umarni ne a ƙarƙashin Linux. Zai fi kyau a nuna misalin ‘tac’ da a yi maganar wani abu game da shi.

Ƙirƙirar fayil ɗin rubutu tare da sunayen duk wata, kamar kalma ɗaya ta bayyana akan layi.

# 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

Don ƙarin misalan amfani da umarnin cat, koma zuwa 13 cat Command Use

Shi ke nan a yanzu. Zan sake kasancewa a nan tare da wani Labari mai ban sha'awa, wanda ya cancanci Sani. Har sai a saurara kuma ku haɗa zuwa Tecment. Kar ku manta da samar mana da ra'ayoyinku masu mahimmanci a cikin sashin sharhinmu.