Dokoki 12 Masu Amfani Don Tace Rubutu don Ingantattun Ayyukan Fayil a Linux


A cikin wannan labarin, za mu sake nazarin kayan aikin layin umarni da yawa waɗanda ke aiki azaman masu tacewa a cikin Linux. Tace shiri ne wanda ke karanta daidaitaccen shigarwa, yana yin aiki akansa kuma yana rubuta sakamakon zuwa daidaitaccen fitarwa.

Don haka, ana iya amfani da shi don aiwatar da bayanai ta hanyoyi masu ƙarfi kamar sake fasalin fitarwa don samar da rahotanni masu amfani, gyara rubutu a cikin fayiloli da sauran ayyukan gudanarwa na tsarin da yawa.

Da wannan ya ce, a ƙasa akwai wasu fayiloli masu amfani ko matatun rubutu a cikin Linux.

1. Awk Umarni

Awk babban harshe ne na bincikar ƙirar ƙira da sarrafa shi, ana iya amfani dashi don gina matattara masu amfani a cikin Linux. Za ku iya fara amfani da shi ta hanyar karantawa cikin shirin mu na Awk Part 1 zuwa Part 13.

Bugu da ƙari, kuma karanta ta shafin awk man don ƙarin bayani da zaɓuɓɓukan amfani:

$ man awk

2. Sed Command

sed editan rafi ne mai ƙarfi don tacewa da canza rubutu. Mun riga mun rubuta labarai masu amfani guda biyu akan sed, wanda zaku iya bi ta anan:

  1. Yadda ake amfani da umarnin GNU 'sed' don Ƙirƙiri, Shirya, da sarrafa fayiloli a cikin Linux
  2. 15 Fa'idodi da Dabaru na Umurni na 'sed' don Ayyukan Gudanar da Tsarin Linux na Kullum

Shafin sed man yana da ƙarin zaɓuɓɓukan sarrafawa da umarni:

$ man sed

3. Grep, Egrep, Fgrep, Umarnin Rgrep

Waɗannan suna tace layukan fitarwa da suka dace da tsarin da aka bayar. Suna karanta layi daga fayil ko daidaitaccen shigarwa, kuma suna buga duk layukan da suka dace ta tsohuwa zuwa daidaitaccen fitarwa.

Lura: Babban shirin yana amfani da takamaiman zaɓuɓɓukan grep kamar ƙasa (kuma har yanzu ana amfani da su don dacewa da baya):

$ egrep = grep -E
$ fgrep = grep -F
$ rgrep = grep -r  

A ƙasa akwai wasu mahimman umarnin grep:

[email  ~ $ grep "aaronkilik" /etc/passwd
aaronkilik:x:1001:1001::/home/aaronkilik:

[email  ~ $ cat /etc/passwd | grep "aronkilik"
aaronkilik:x:1001:1001::/home/aaronkilik:

Kuna iya karanta ƙarin game da Menene Bambanci Tsakanin Grep, Egrep da Fgrep a cikin Linux?

4. Shugaban Umurni

ana amfani da kai don nuna sassan farko na fayil, yana fitar da layin 10 na farko ta hanyar tsohuwa. Kuna iya amfani da alamar lamba -n don tantance adadin layin da za a nuna:

[email  ~ $ head /var/log/auth.log  
Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session closed for user root
Jan  2 10:51:34 TecMint sudo:  tecmint : TTY=unknown ; PWD=/home/tecmint ; USER=root ; COMMAND=/usr/lib/linuxmint/mintUpdate/checkAPT.py
Jan  2 10:51:34 TecMint sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan  2 10:51:39 TecMint sudo: pam_unix(sudo:session): session closed for user root
Jan  2 10:55:01 TecMint CRON[4099]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan  2 10:55:01 TecMint CRON[4099]: pam_unix(cron:session): session closed for user root
Jan  2 11:05:01 TecMint CRON[4138]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan  2 11:05:01 TecMint CRON[4138]: pam_unix(cron:session): session closed for user root
Jan  2 11:09:01 TecMint CRON[4146]: pam_unix(cron:session): session opened for user root by (uid=0)

[email  ~ $ head  -n 5 /var/log/auth.log  
Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan  2 10:45:01 TecMint CRON[3383]: pam_unix(cron:session): session closed for user root
Jan  2 10:51:34 TecMint sudo:  tecmint : TTY=unknown ; PWD=/home/tecmint ; USER=root ; COMMAND=/usr/lib/linuxmint/mintUpdate/checkAPT.py
Jan  2 10:51:34 TecMint sudo: pam_unix(sudo:session): session opened for user root by (uid=0)
Jan  2 10:51:39 TecMint sudo: pam_unix(sudo:session): session closed for user root

Koyi yadda ake amfani da umarnin kai tare da umarnin wutsiya da cat don ingantaccen amfani a cikin Linux.

5. Umurnin wutsiya

wutsiya tana fitar da sassan ƙarshe (layi 10 ta tsohuwa) na fayil. Yi amfani da -n sauyawa lamba don tantance adadin layukan da za'a nunawa.

Umurnin da ke ƙasa zai fitar da layin 5 na ƙarshe na ƙayyadadden fayil:

[email  ~ $ tail -n 5 /var/log/auth.log
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.
Jan  6 13:01:27 TecMint sshd[1269]: Received SIGHUP; restarting.
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.

Bugu da ƙari, wutsiya tana da zaɓi na musamman -f don kallon canje-canje a cikin fayil a ainihin-lokaci (musamman fayilolin log).

Umarni mai zuwa zai ba ku damar saka idanu canje-canje a cikin ƙayyadadden fayil:

[email  ~ $ tail -f /var/log/auth.log
Jan  6 12:58:01 TecMint sshd[1269]: Server listening on :: port 22.
Jan  6 12:58:11 TecMint sshd[1269]: Received SIGHUP; restarting.
Jan  6 12:58:12 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan  6 12:58:12 TecMint sshd[1269]: Server listening on :: port 22.
Jan  6 13:01:27 TecMint sshd[1269]: Received SIGHUP; restarting.
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.
Jan  6 13:01:27 TecMint sshd[1269]: Received SIGHUP; restarting.
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on 0.0.0.0 port 22.
Jan  6 13:01:27 TecMint sshd[1269]: Server listening on :: port 22.

Karanta ta shafin mutumin wutsiya don cikakken jerin zaɓuɓɓukan amfani da umarnin:

$ man tail

6. tsara Umurni

ana amfani da nau'in don warware layin fayil ɗin rubutu ko daga daidaitaccen shigarwa.

A ƙasa akwai abun ciki na fayil mai suna domains.list:

[email  ~ $ cat domains.list
linux-console.net
linux-console.net
news.linux-console.net
news.linux-console.net
linuxsay.com
linuxsay.com
windowsmint.com
windowsmint.com

Kuna iya gudanar da tsari mai sauƙi don tsara abun cikin fayil kamar haka:

[email  ~ $ sort domains.list
linuxsay.com
linuxsay.com
news.linux-console.net
news.linux-console.net
linux-console.net
linux-console.net
windowsmint.com
windowsmint.com

Kuna iya amfani da umarni iri-iri ta hanyoyi da yawa, shiga cikin wasu labarai masu amfani akan nau'in umarni kamar haka:

  1. 14 Misalai Masu Fa'ida na Dokar 'irin' Linux - Sashe na 1
  2. 7 Misalan Umurnin 'Nau'in' Linux masu ban sha'awa - Kashi na 2
  3. Yadda ake Nemo da Rarraba Fayiloli Dangane da Kwanan Wata da Lokaci Gyara
  4. Yadda ake Rarraba fitar da umurnin 'ls' Ta Kwanan Wata da Lokaci na Ƙarshe

7. Umurnin uniq

Ana amfani da umarnin uniq don bayar da rahoto ko ƙetare layukan da aka maimaita, yana tace layukan daga daidaitattun shigarwar kuma yana rubuta sakamakon zuwa daidaitaccen fitarwa.

Bayan gudanar da nau'i akan rafi na shigarwa, zaku iya cire maimaita layukan tare da uniq kamar a misalin da ke ƙasa.

Don nuna adadin abubuwan da suka faru na layi, yi amfani da zaɓin -c kuma kuyi watsi da bambance-bambance a yanayin yayin kwatanta ta haɗa da zaɓin -i:

[email  ~ $ cat domains.list
linux-console.net
linux-console.net
news.linux-console.net
news.linux-console.net
linuxsay.com
linuxsay.com
windowsmint.com

[email  ~ $ sort domains.list | uniq -c 
2 linuxsay.com
2 news.linux-console.net
2 linux-console.net
1 windowsmint.com 

Karanta ta shafin uniq man don ƙarin bayanin amfani da tutoci:

$ man uniq

8. fmt Umurni

fmt mafi kyawun tsarin rubutu mai sauƙi, yana sake tsara sakin layi a cikin takamaiman fayil kuma yana buga sakamako zuwa daidaitaccen fitarwa.

Mai zuwa shine abun ciki da aka fitar daga yankin-list.txt fayil:

1.linux-console.net 2.news.linux-console.net 3.linuxsay.com 4.windowsmint.com

Don sake fasalin abun cikin da ke sama zuwa madaidaitan jeri, gudanar da umarni mai zuwa tare da -w ana amfani da shi don ayyana iyakar faɗin layi:

[email  ~ $ cat domain-list.txt 
1.linux-console.net 2.news.linux-console.net 3.linuxsay.com 4.windowsmint.com

[email  ~ $ fmt -w 1 domain-list.txt
1.linux-console.net 
2.news.linux-console.net 
3.linuxsay.com 
4.windowsmint.com

9. pr Umarni

umarnin pr yana canza fayilolin rubutu ko daidaitaccen shigarwa don bugu. Misali akan tsarin Debian, zaku iya jera duk fakitin da aka shigar kamar haka:

$ dpkg -l

Don tsara jeri a cikin shafuka da ginshiƙan da aka shirya don bugawa, ba da umarni mai zuwa.

[email  ~ $ dpkg -l | pr --columns 3 -l 20  

2017-01-06 13:19                                                  Page 1


Desired=Unknown/Install ii  adduser		ii  apg
| Status=Not/Inst/Conf- ii  adwaita-icon-theme	ii  app-install-data
|/ Err?=(none)/Reinst-r ii  adwaita-icon-theme- ii  apparmor
||/ Name		ii  alsa-base		ii  apt
+++-=================== ii  alsa-utils		ii  apt-clone
ii  accountsservice	ii  anacron		ii  apt-transport-https
ii  acl			ii  apache2		ii  apt-utils
ii  acpi-support	ii  apache2-bin		ii  apt-xapian-index
ii  acpid		ii  apache2-data	ii  aptdaemon
ii  add-apt-key		ii  apache2-utils	ii  aptdaemon-data


2017-01-06 13:19                                                  Page 2


ii  aptitude		ii  avahi-daemon	ii  bind9-host
ii  aptitude-common	ii  avahi-utils		ii  binfmt-support
ii  apturl		ii  aview		ii  binutils
ii  apturl-common	ii  banshee		ii  bison
ii  archdetect-deb	ii  baobab		ii  blt
ii  aspell		ii  base-files		ii  blueberry
ii  aspell-en		ii  base-passwd		ii  bluetooth
ii  at-spi2-core	ii  bash		ii  bluez
ii  attr		ii  bash-completion	ii  bluez-cups
ii  avahi-autoipd	ii  bc			ii  bluez-obexd

.....

Tutocin da aka yi amfani da su a nan su ne:

  1. --column yana bayyana adadin ginshiƙan da aka ƙirƙira a cikin fitarwa.
  2. -l yana ƙayyadadden tsayin shafi (Tsoffin layukan 66 ne).

10. tr Umurni

Wannan kayan aikin yana fassara ko share haruffa daga daidaitaccen shigarwa kuma yana rubuta sakamako zuwa daidaitaccen fitarwa.

Ma'anar amfani da tr shine kamar haka:

$ tr options set1 set2

Dubi misalan da ke ƙasa, a cikin umarni na farko, set1( [: babba:] ) yana wakiltar yanayin shigar haruffa (duk manyan harka).

Sannan set2([:lower:]) yana wakiltar yanayin da haruffan sakamako zasu kasance. Abu ɗaya ne a cikin misali na biyu da jerin tserewa yana nufin buga fitarwa akan sabon layi:

[email  ~ $ echo "WWW.TECMINT.COM" | tr [:upper:] [:lower:]
linux-console.net

[email  ~ $ echo "news.linux-console.net" | tr [:lower:] [:upper:]
NEWS.TECMINT.COM

11. ƙarin Umurni

ƙarin umarni shine mai fa'ida mai fa'ida mai fa'ida wanda aka ƙirƙira ta asali don duba takaddun shaida. Yana nuna abun cikin fayil a cikin shafi kamar tsari, inda masu amfani zasu iya danna [Shigar] don duba ƙarin bayani.

Kuna iya amfani da shi don duba manyan fayiloli kamar haka:

[email  ~ $ dmesg | more
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.0-21-generic ([email ) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generic
 4.4.6)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b ro quiet splash vt.handoff=7
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers'
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] x86/fpu: Using 'eager' FPU context switches.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d3ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d400-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000a56affff] usable
[    0.000000] BIOS-e820: [mem 0x00000000a56b0000-0x00000000a5eaffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000a5eb0000-0x00000000aaabefff] usable
--More--

12. Kasa Umurni

žasa shine akasin ƙarin umarni a sama amma yana ba da ƙarin fasali kuma yana da ɗan sauri tare da manyan fayiloli.

Yi amfani da shi ta hanya ɗaya da ƙari:

[email  ~ $ dmesg | less
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.0-21-generic ([email ) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generic
 4.4.6)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-21-generic root=UUID=bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b ro quiet splash vt.handoff=7
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers'
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] x86/fpu: Using 'eager' FPU context switches.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d3ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d400-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000a56affff] usable
[    0.000000] BIOS-e820: [mem 0x00000000a56b0000-0x00000000a5eaffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000a5eb0000-0x00000000aaabefff] usable
:

Koyi Me yasa 'kasa' ya fi sauri fiye da 'ƙarin' Umurni don ingantaccen kewayawa fayil a cikin Linux.

Shi ke nan a yanzu, bari mu san kowane kayan aikin layin umarni masu amfani da ba a ambata a nan ba, waɗanda ke aiki azaman matattarar rubutu a cikin Linux ta sashin sharhin da ke ƙasa.