Iwu 12 bara uru maka nzacha ederede maka ọrụ faịlụ dị irè na Linux


N'isiokwu a, anyị ga-enyocha ọtụtụ ngwaọrụ ahịrị iwu na-eme dị ka ihe nzacha na Linux. Ihe nzacha bụ mmemme na-agụ ndenye ọkọlọtọ, na-arụ ọrụ na ya wee dee nsonaazụ ya na mmepụta ọkọlọtọ.

N'ihi nke a, enwere ike iji ya hazie ozi n'ụzọ dị ike dị ka nhazigharị mmepụta iji mepụta akụkọ bara uru, gbanwee ederede na faịlụ na ọtụtụ ọrụ nchịkwa usoro ndị ọzọ.

Site na nke ahụ kwuru, n'okpuru bụ ụfọdụ faịlụ bara uru ma ọ bụ nzacha ederede na Linux.

1. Awk Iwu

Awk bụ asụsụ nyocha na nhazi ụkpụrụ dị ịrịba ama, enwere ike iji ya wuo ihe nzacha bara uru na Linux. Ị nwere ike ịmalite iji ya site n'ịgụ usoro Awk anyị Nkebi 1 ruo Nkebi 13.

Ọzọkwa, gụọkwa site na ibe awk man maka ozi ndị ọzọ na nhọrọ ojiji:

$ man awk

2. Sed Command

sed bụ onye nchịkọta akụkọ iyi siri ike maka nzacha na ịgbanwe ederede. Anyị edeela akụkọ abụọ bara uru na sed, na ị nwere ike ịgafe ya ebe a:

  1. Etu esi eji GNU 'sed' Command iji Mepụta, dezie, na ịhazi faịlụ na Linux
  2. 15 Ndụmọdụ na usoro iwu 'sed' bara uru maka ọrụ nchịkwa sistemụ Linux kwa ụbọchị

Ibe sed man agbakwunyela nhọrọ njikwa na ntuziaka:

$ man sed

3. Grep, Egrep, Fgrep, Iwu Rgrep

Ihe nzacha ndị a na-ewepụta ahịrị ndị dabara na ụkpụrụ enyere. Ha na-agụ ahịrị sitere na faịlụ ma ọ bụ ndenye ọkọlọtọ, wee bipụta ahịrị niile dabara na ndabara na mmepụta ọkọlọtọ.

Mara: Isi mmemme na-eji nhọrọ grep akọwapụtara dị ka n'okpuru (ma a ka na-eji ha maka ndakọrịta azụ):

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

N'okpuru bụ ụfọdụ iwu grep bụ isi:

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

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

Ị nwere ike ịgụkwu banyere Gịnị dị iche n'etiti Grep, Egrep na Fgrep na Linux ?.

4. isi Iwu

A na-eji isi gosipụta akụkụ mbụ nke faịlụ, ọ na-ewepụta ahịrị 10 mbụ na ndabara. Ị nwere ike iji -n ọkọlọtọ nọmba iji kọwaa ọnụọgụgụ ahịrị ndị a ga-egosipụta:

[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

Mụta ka esi eji iwu isi na iwu ọdụ na nwamba maka ojiji dị irè na Linux.

5. Iwu ọdụ

ọdụ na-ewepụta akụkụ ikpeazụ (ahịrị 10 na ndabara) nke faịlụ. Jiri -n ọnụọgụ ọnụọgụ iji kọwaa ọnụọgụgụ ahịrị a ga-egosipụta.

Iwu dị n'okpuru ga-ewepụta ahịrị 5 ikpeazụ nke faịlụ akọwapụtara:

[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.

Na mgbakwunye, ọdụ nwere nhọrọ pụrụ iche -f maka ikiri mgbanwe na faịlụ ozugbo (karịsịa faịlụ ndekọ).

Iwu a ga-enyere gị aka nyochaa mgbanwe na faịlụ akọwapụtara:

[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.

Gụọ site na ibe ọdụ ọdụ maka ndepụta zuru oke nke nhọrọ na ntuziaka ojiji:

$ man tail

6. ụdị Iwu

a na-eji ụdị edozi ahịrị faịlụ ederede ma ọ bụ site na ntinye ọkọlọtọ.

N'okpuru bụ ọdịnaya nke faịlụ akpọrọ 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

Ị nwere ike ịme ụdị iwu dị mfe iji hazie ọdịnaya faịlụ dị ka nke a:

[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

Ị nwere ike iji usoro nhazi n'ọtụtụ ụzọ, gaa na ụfọdụ akụkọ bara uru na ụdị iwu dị ka ndị a:

  1. 14 Ọmụmaatụ bara uru nke iwu 'ụdị' Linux - Akụkụ 1
  2. 7 Ihe atụ iwu 'ụdị' Linux na-adọrọ mmasị - Nkebi nke 2
  3. Otu esi achọta na hazie faịlụ dabere na ụbọchị mgbanwe na oge
  4. Otu esi hazie nsonaazụ 'ls' Site na ụbọchị na oge gbanwechara ikpeazụ

7. Uniq Iwu

A na-eji iwu uniq kọọ akụkọ ma ọ bụ hapụ ahịrị ugboro ugboro, ọ na-enyocha ahịrị site na ntinye ọkọlọtọ wee dee nsonaazụ ya na mmepụta ọkọlọtọ.

Mgbe ịmechara ụdị na iyi ntinye, ị nwere ike wepu ahịrị ugboro ugboro na uniq dịka ọmụmaatụ n'okpuru.

Iji gosi ọnụọgụ nke ahịrị mere, jiri -c nhọrọ wee leghara ndịiche dị iche iche anya mgbe ị na-atụnyere site na ịgụnye nhọrọ -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 

Gụọ site na ibe uniq man maka ozi ọzọ ojiji na ọkọlọtọ:

$ man uniq

8. fmt Iwu

fmt dị mfe nhazi ederede kachasị mma, ọ na-emegharị paragraf na faịlụ akọwapụtara ma na-ebipụta nsonaazụ na mmepụta ọkọlọtọ.

Nke a bụ ọdịnaya ewepụtara na ngalaba-list.txt faịlụ:

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

Iji megharịa ọdịnaya dị n'elu ka ọ bụrụ ndepụta ọkọlọtọ, jiri -w gbanye ka a na-eji kọwaa obosara ahịrị kachasị:

[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 Iwu

iwu pr na-atụgharị faịlụ ederede ma ọ bụ ndenye ọkọlọtọ maka mbipụta. Dịka ọmụmaatụ na sistemụ Debian, ị nwere ike depụta ngwugwu arụnyere niile dị ka ndị a:

$ dpkg -l

Iji hazie ndepụta na ibe na kọlụm dị njikere maka mbipụta, nye iwu a.

[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

.....

Ọkọlọtọ ejiri ebe a bụ:

  1. --kọlụm na-akọwa ọnụọgụgụ kọlụm emepụtara n'ime mmepụta.
  2. -l na-akọwapụta ogologo ibe (ndabere bụ ahịrị 66).

10. tr Iwu

Ngwá ọrụ a na-atụgharị ma ọ bụ hichapụ mkpụrụedemede sitere na ndenye ọkọlọtọ wee dee nsonaazụ na mmepụta ọkọlọtọ.

Syntax maka iji tr bụ nke a:

$ tr options set1 set2

Lelee ihe atụ ndị dị n'okpuru, na iwu nke mbụ, set1( [: elu:] ) na-anọchi anya mkpụrụedemede ntinye (ihe niile dị elu).

Mgbe ahụ set2([:low:]) na-anọchi anya ikpe nke mkpụrụ edemede ga-apụta na ya. Ọ bụ otu ihe na atụ nke abụọ na ụzọ mgbapụ pụtara mbipụta bipụta n'ahịrị ọhụrụ:

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

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

11. ọzọ Iwu

Iwu ọzọ bụ nzacha perusal faịlụ bara uru emebere maka nlele akwụkwọ. Ọ na-egosi ọdịnaya faịlụ na ibe dị ka usoro, ebe ndị ọrụ nwere ike pịa [Tinye] ka ịlele ozi ndị ọzọ.

Ị nwere ike iji ya lelee nnukwu faịlụ dịka:

[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. obere Iwu

obere bụ ihe megidere iwu ndị ọzọ dị n'elu mana ọ na-enye atụmatụ ndị ọzọ yana ọ dị ntakịrị ngwa ngwa na nnukwu faịlụ.

Jiri ya n'otu ụzọ ahụ dị ka ndị ọzọ:

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

Mụta ihe kpatara 'obere' ji dị ngwa karịa Iwu 'ọzọ' maka igodo faịlụ dị irè na Linux.

Nke ahụ bụ maka ugbu a, mee ka anyị mara maka ngwaọrụ ahịrị iwu ọ bụla bara uru ekwughị ebe a, nke na-eme dị ka ihe nzacha ederede na Linux site na ngalaba nkọwa n'okpuru.