Kuelewa Ainisho Tofauti za Amri za Shell na Matumizi Yake katika Linux
Linapokuja suala la kupata udhibiti kamili juu ya mfumo wako wa Linux, basi hakuna kitu kinachokaribia kiolesura cha mstari wa amri (CLI). Ili kuwa mtumiaji wa nguvu wa Linux, mtu lazima aelewe aina tofauti za amri za shell na njia zinazofaa za kuzitumia kutoka kwa terminal.
Katika Linux, kuna aina kadhaa za amri, na kwa mtumiaji mpya wa Linux, kujua maana ya amri tofauti huwezesha matumizi ya ufanisi na sahihi. Kwa hiyo, katika makala hii, tutapitia uainishaji mbalimbali wa amri za shell katika Linux.
Jambo moja muhimu kukumbuka ni kwamba kiolesura cha mstari wa amri ni tofauti na ganda, hutoa tu njia ya wewe kufikia ganda. Ganda, ambalo pia linaweza kupangwa basi huwezesha kuwasiliana na kernel kwa kutumia amri.
Uainishaji tofauti wa amri za Linux huanguka chini ya uainishaji ufuatao:
1. Utekelezaji wa Programu (Amri za Mfumo wa Faili)
Unapoendesha amri, Linux hutafuta saraka zilizohifadhiwa katika utofauti wa mazingira wa PATH kutoka kushoto kwenda kulia kwa ajili ya kutekelezwa kwa amri hiyo maalum.
Unaweza kuona saraka katika PATH
kama ifuatavyo:
$ echo $PATH /home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Katika mpangilio ulio hapo juu, saraka /home/aaronkilik/bin
itatafutwa kwanza ikifuatiwa na /usr/local/sbin
na kadhalika, mpangilio ni muhimu katika utafutaji. mchakato.
Mifano ya amri za mfumo wa faili katika /usr/bin
saraka:
$ ll /bin/
total 16284 drwxr-xr-x 2 root root 4096 Jul 31 16:30 ./ drwxr-xr-x 23 root root 4096 Jul 31 16:29 ../ -rwxr-xr-x 1 root root 6456 Apr 14 18:53 archdetect* -rwxr-xr-x 1 root root 1037440 May 17 16:15 bash* -rwxr-xr-x 1 root root 520992 Jan 20 2016 btrfs* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-calc-size* lrwxrwxrwx 1 root root 5 Jul 31 16:19 btrfsck -> btrfs* -rwxr-xr-x 1 root root 278376 Jan 20 2016 btrfs-convert* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-debug-tree* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-find-root* -rwxr-xr-x 1 root root 270136 Jan 20 2016 btrfs-image* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-map-logical* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-select-super* -rwxr-xr-x 1 root root 253816 Jan 20 2016 btrfs-show-super* -rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfstune* -rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-zero-log* -rwxr-xr-x 1 root root 31288 May 20 2015 bunzip2* -rwxr-xr-x 1 root root 1964536 Aug 19 2015 busybox* -rwxr-xr-x 1 root root 31288 May 20 2015 bzcat* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzcmp -> bzdiff* -rwxr-xr-x 1 root root 2140 May 20 2015 bzdiff* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzegrep -> bzgrep* -rwxr-xr-x 1 root root 4877 May 20 2015 bzexe* lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzfgrep -> bzgrep* -rwxr-xr-x 1 root root 3642 May 20 2015 bzgrep*
2. Lakabu za Linux
Hizi ni amri zilizofafanuliwa na mtumiaji, huundwa kwa kutumia ganda la pak amri iliyojengwa ndani, na ina amri zingine za ganda zilizo na chaguzi na hoja kadhaa. Mawazo ni kimsingi kutumia majina mapya na mafupi kwa amri ndefu.
Syntax ya kuunda lakabu ni kama ifuatavyo.
$ alias newcommand='command -options'
Ili kuorodhesha lakabu zote kwenye mfumo wako, toa amri ifuatayo:
$ alias -p alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto'
Ili kuunda lakabu mpya katika Linux, pitia mifano iliyo hapa chini.
$ alias update='sudo apt update' $ alias upgrade='sudo apt dist-upgrade' $ alias -p | grep 'up'
Hata hivyo, lakabu ambazo tumeunda hapo juu zinafanya kazi kwa muda tu, mfumo unapoanzishwa upya, hautafanya kazi baada ya boot inayofuata. Unaweza kuweka lakabu za kudumu katika faili yako ya .bashrc
kama inavyoonyeshwa hapa chini.
Baada ya kuziongeza, endesha amri hapa chini ili kufanya kazi.
$ source ~/.bashrc
3. Linux Shell zimehifadhiwa Maneno
Katika upangaji wa ganda, maneno kama vile if, basi, fi, for, while, case, esac, else, mpaka na mengine mengi ni maneno yaliyohifadhiwa kwa shell. Kama maelezo yanavyomaanisha, yana maana maalum kwa ganda.
Unaweza kuorodhesha maneno yote ya ganda la Linux kwa kutumia type
amri kama inavyoonyeshwa:
$ type if then fi for while case esac else until if is a shell keyword then is a shell keyword fi is a shell keyword for is a shell keyword while is a shell keyword case is a shell keyword esac is a shell keyword else is a shell keyword until is a shell keyword
4. Kazi za Shell za Linux
Kazi ya ganda ni kikundi cha amri ambazo hutekelezwa kwa pamoja ndani ya ganda la sasa. Kazi husaidia kutekeleza kazi maalum katika hati ya ganda. Njia ya kawaida ya uandishi wa kazi za ganda kwenye hati ni:
function_name() { command1 command2 ……. }
Vinginevyo,
function function_name { command1 command2 ……. }
Hebu tuangalie jinsi ya kuandika vitendaji vya ganda katika hati inayoitwa shell_functions.sh
.
#!/bin/bash #write a shell function to update and upgrade installed packages upgrade_system(){ sudo apt update; sudo apt dist-upgrade; } #execute function upgrade_system
Badala ya kutekeleza amri mbili: sasisho la sudo apt
na sudo apt dist-upgrade
kutoka kwa safu ya amri, tumeandika kazi rahisi ya ganda kutekeleza amri mbili kama moja. amri, upgrade_system
ndani ya hati.
Hifadhi faili na baada ya hapo, fanya hati itekelezwe. Mwishowe iendeshe kama ilivyo hapo chini:
$ chmod +x shell_functions.sh $ ./shell_functions.sh
5. Maagizo ya Ndani ya Sheli ya Linux
Hizi ni amri za Linux zilizojengwa ndani ya ganda, kwa hivyo huwezi kuzipata ndani ya mfumo wa faili. Ni pamoja na pwd, cd, bg, alias, historia, aina, chanzo, kusoma, kuondoka na wengine wengi.
Unaweza kuorodhesha au kuangalia amri zilizojengewa ndani za Linux kwa kutumia type
amri kama inavyoonyeshwa:
$ type pwd pwd is a shell builtin $ type cd cd is a shell builtin $ type bg bg is a shell builtin $ type alias alias is a shell builtin $ type history history is a shell builtin
Jifunze kuhusu matumizi ya Maagizo yaliyojengwa ndani ya Linux:
- Mifano 15 ya Amri za ‘pwd’ katika Linux
- Mifano 15 ya Amri za ‘cd’ katika Linux
- Jifunze Uwezo wa Amri ya 'historia' ya Linux
Hitimisho
Kama mtumiaji wa Linux, daima ni muhimu kujua aina ya amri unayoendesha. Ninaamini, kwa maelezo sahihi na rahisi kuelewa hapo juu ikijumuisha vielelezo vichache muhimu, labda una ufahamu mzuri wa kategoria mbali mbali za amri za Linux.
Unaweza pia kupata mgumu kupitia sehemu ya maoni hapa chini kwa maswali yoyote au maoni ya ziada ambayo ungependa kutupa.