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
- 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
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:
- 14 Awọn apẹẹrẹ Wulo ti Lainos 'iru' Commandfin - Apá 1
- 7 Linux ti o nifẹ si ‘too’ Awọn apẹẹrẹ Aṣẹ - Apakan 2
- Bii a ṣe le Wa ati Too Awọn faili Ti o da lori Ọjọ Iyipada ati Aago
- 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:
-
--olẹ iwe n ṣalaye nọmba ti awọn ọwọn ti a ṣẹda ninu iṣẹ.
-
-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ẹ.