12 Awọn ofin to wulo Fun Sisẹ ọrọ fun Awọn isẹ Faili munadoko ni Lainos


Ninu nkan yii, a yoo ṣe atunyẹwo nọmba kan ti awọn irinṣẹ laini aṣẹ ti o ṣiṣẹ bi awọn asẹ ni Linux. Ajọ jẹ eto kan ti o ka igbewọle deede, ṣe iṣẹ ṣiṣe lori rẹ ati kọ awọn abajade si iṣelọpọ deede.

Fun idi eyi, o le lo lati ṣe ilana alaye ni awọn ọna ti o ni agbara bii atunṣeto atunkọ lati ṣe awọn iroyin ti o wulo, ṣiṣatunṣe ọrọ ni awọn faili ati ọpọlọpọ awọn iṣẹ iṣakoso eto miiran.

Pẹlu eyi ti o sọ, ni isalẹ wa diẹ ninu faili ti o wulo tabi awọn asọsọ ọrọ ni Lainos.

1. Awk .fin

Awk jẹ ọlọjẹ apẹẹrẹ apẹẹrẹ ati ede siseto, o le ṣee lo lati kọ awọn asẹ ti o wulo ni Lainos. O le bẹrẹ lilo rẹ nipasẹ kika nipasẹ jara Awk wa Apá 1 si Apakan 13.

Ni afikun, tun ka nipasẹ oju-iwe eniyan awk fun alaye diẹ sii ati awọn aṣayan lilo:

$ man awk

2. Sed Commandfin

sed jẹ olootu ṣiṣan ti o lagbara fun sisẹ ati yiyi ọrọ pada. A ti kọ tẹlẹ awọn nkan ti o wulo meji lori sed, pe o le kọja nipasẹ rẹ nibi:

    Bii a ṣe le lo GNU ‘sed’ tofin lati Ṣẹda, Ṣatunkọ, ati Ṣakoso awọn faili ni Linux
  1. 15 Wulo ‘sed’ Awọn Imọran Aṣẹ ati Ẹtan fun Awọn iṣẹ Isakoso Isakoso Lainos ojoojumọ

Oju-iwe eniyan sed ti fi awọn aṣayan iṣakoso ati awọn itọnisọna kun:

$ man sed

3. Grep, Egrep, Fgrep, Rgrep Awọn pipaṣẹ

Awọn ila ilajade awọn awoṣe wọnyi ti o baamu apẹẹrẹ ti a fifun. Wọn ka awọn ila lati faili kan tabi igbewọle boṣewa, ati tẹ gbogbo awọn ila ti o baamu ni aiyipada si iṣẹjade boṣewa.

Akiyesi: Eto akọkọ ni lilo awọn aṣayan ọra kan pato bi isalẹ (ati pe wọn tun nlo fun ibaramu sẹhin):

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

Ni isalẹ wa diẹ ninu awọn aṣẹ grep ipilẹ:

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

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

O le ka diẹ sii nipa Kini Iyato Laarin Grep, Egrep ati Fgrep ni Linux?.

4. ori Commandfin

A lo ori lati ṣafihan awọn ẹya akọkọ ti faili kan, o ṣe awọn ila akọkọ 10 akọkọ nipasẹ aiyipada. O le lo asia -n num lati ṣalaye nọmba awọn ila ti yoo han:

[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

Kọ ẹkọ bii o ṣe le lo aṣẹ ori pẹlu iru ati awọn aṣẹ ologbo fun lilo to munadoko ni Lainos.

5. iru Commandfin

iru awọn abajade ti awọn ẹya to kẹhin (awọn ila 10 nipasẹ aiyipada) ti faili kan. Lo iyipada -n num lati ṣafihan nọmba awọn ila ti yoo han.

Aṣẹ ti o wa ni isalẹ yoo jade awọn ila 5 to kẹhin ti faili ti a ṣalaye:

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

Ni afikun, iru ni aṣayan pataki kan -f fun wiwo awọn ayipada ninu faili kan ni akoko gidi (paapaa awọn faili log).

Atẹle wọnyi yoo jẹ ki o ṣe atẹle awọn ayipada ninu faili pàtó kan:

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

Ka nipasẹ oju-iwe eniyan iru fun atokọ pipe ti awọn aṣayan lilo ati awọn itọnisọna:

$ man tail

6. too Commandfin

a lo irufẹ lati to awọn ila ti faili ọrọ kan tabi lati titẹ sii boṣewa.

Ni isalẹ ni akoonu ti faili ti a npè ni 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

O le ṣiṣe aṣẹ irufẹ rọrun lati to lẹsẹsẹ akoonu faili bii bẹ:

[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

O le lo irufẹ aṣẹ ni ọpọlọpọ awọn ọna, lọ nipasẹ diẹ ninu awọn nkan ti o wulo lori aṣẹ iru bi atẹle:

  1. 14 Awọn apẹẹrẹ Wulo ti Lainos 'iru' Commandfin - Apá 1
  2. 7 Linux ti o nifẹ si ‘too’ Awọn apẹẹrẹ Aṣẹ - Apakan 2
  3. Bii a ṣe le Wa ati Too Awọn faili Ti o da lori Ọjọ Iyipada ati Aago
  4. Bii a ṣe le to lẹsẹsẹjade Ijade ti ‘ls’ pipaṣẹ Nipa Ọjọ ati Aago Tuntun Tuntun

7. uniq Commandfin

A lo aṣẹ uniq lati ṣe ijabọ tabi fi awọn ila ti o tun pada silẹ, o ṣe ila awọn ila lati titẹ sii bošewa ati kọ abajade si iṣelọpọ deede.

Lẹhin ti o ṣiṣẹ lẹsẹsẹ lori ṣiṣanwọle titẹ sii, o le yọ awọn ila tun pẹlu uniq bi ninu apẹẹrẹ ni isalẹ.

Lati tọka nọmba awọn iṣẹlẹ ti laini kan, lo aṣayan -c ki o foju foju si awọn iyatọ ninu ọran lakoko ifiwera pẹlu pẹlu aṣayan -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 

Ka nipasẹ oju-iwe eniyan uniq fun alaye ilo siwaju ati awọn asia:

$ man uniq

8. fmt .fin

fmt kika ọrọ ti o dara julọ ti o rọrun, o ṣe atunṣe awọn paragirafi ni faili pàtó kan ati awọn abajade tẹjade si iṣiṣẹ boṣewa.

Atẹle ni akoonu ti a fa jade lati faili-ašẹ-list.txt:

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

Lati ṣe atunṣe akoonu ti o wa loke si atokọ boṣewa, ṣiṣe aṣẹ atẹle pẹlu -w yipada ni a lo lati ṣalaye iwọn ila ila to pọ julọ:

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

pr pipaṣẹ awọn faili ọrọ tabi igbewọle boṣewa fun titẹ sita. Fun apeere lori awọn eto Debian, o le ṣe atokọ gbogbo awọn idii ti a fi sii bi atẹle:

$ dpkg -l

Lati ṣeto atokọ ni awọn oju-iwe ati awọn ọwọn ti o ṣetan fun titẹjade, gbekalẹ aṣẹ atẹle.

[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

.....

Awọn asia ti a lo nibi ni:

  1. --olẹ iwe n ṣalaye nọmba ti awọn ọwọn ti a ṣẹda ninu iṣẹ.
  2. -l ṣalaye gigun oju-iwe (aiyipada ni awọn ila 66).

10. tr Commandfin

Ọpa yii tumọ tabi paarẹ awọn ohun kikọ lati ifunni titọ ati kọ awọn abajade si iṣelọpọ deede.

Itọwe fun lilo tr jẹ bi atẹle:

$ tr options set1 set2

Wo awọn apẹẹrẹ ti o wa ni isalẹ, ni aṣẹ akọkọ, set1 ([: oke:]) duro fun ọran ti awọn kikọ kikọ sii (gbogbo ọrọ oke).

Lẹhinna set2 ([: isalẹ:]) duro fun ọran eyiti awọn kikọ abajade yoo jẹ. O jẹ ohun kanna ni apẹẹrẹ keji ati ọna abayo tumọ si iṣijade titẹ lori laini tuntun kan:

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

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

11. diẹ Commandfin

aṣẹ diẹ sii jẹ iyọdafẹ ifunni faili ti o wulo ti a ṣẹda ni ipilẹ fun wiwo ijẹrisi. O fihan akoonu faili ni oju-iwe bi ọna kika, nibiti awọn olumulo le tẹ [Tẹ] lati wo alaye diẹ sii.

O le lo lati wo awọn faili nla bii bẹ:

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

kere si ni idakeji aṣẹ diẹ sii loke ṣugbọn o nfun awọn ẹya afikun ati pe o yara yara pẹlu awọn faili nla.

Lo o ni ọna kanna bi diẹ sii:

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

Kọ ẹkọ Idi ti 'kere si' Yiyara Ju ‘diẹ sii’ forfin fun lilọ kiri faili ti o munadoko ni Linux.

Iyẹn ni gbogbo fun bayi, ṣe jẹ ki a mọ nipa eyikeyi awọn irinṣẹ laini aṣẹ pipaṣẹ ti a ko mẹnuba nibi, ti o ṣiṣẹ bi awọn asẹ ọrọ ni Linux nipasẹ apakan asọye ni isalẹ.