Shell-komentojen erilaisten luokitusten ymmärtäminen ja niiden käyttö Linuxissa


Kun on kyse absoluuttisen hallinnan saamisesta Linux-järjestelmästäsi, mikään ei ole lähellä komentoriviliittymää (CLI). Tullakseen Linux-tehokäyttäjäksi on ymmärrettävä erityyppiset komentotulkikomennot ja sopivat tapat käyttää niitä päätelaitteelta.

Linuxissa on useita komentoja, ja uudelle Linux-käyttäjälle eri komentojen merkityksen tunteminen mahdollistaa tehokkaan ja tarkan käytön. Siksi tässä artikkelissa käydään läpi Linuxin komentotulkkien eri luokitukset.

Yksi tärkeä asia on huomata, että komentoriviliittymä eroaa kuoresta, se tarjoaa vain keinot käyttää komentotulkkia. Kuori, joka on myös ohjelmoitava, mahdollistaa kommunikoinnin ytimen kanssa komentojen avulla.

Erilaiset Linux-komentojen luokitukset kuuluvat seuraaviin luokituksiin:

1. Ohjelman suoritettavat tiedostot (tiedostojärjestelmän komennot)

Kun suoritat komennon, Linux etsii hakemistot, jotka on tallennettu ympäristömuuttujaan $PATH vasemmalta oikealle kyseisen komennon suoritettavaa tiedostoa varten.

Voit tarkastella hakemistoja $PATH -palvelussa seuraavasti:

$ echo $PATH

/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Yllä olevassa järjestyksessä haetaan ensin hakemistoa /home/aaronkilik/bin ja sen jälkeen /usr/local/sbin ja niin edelleen, järjestys on merkittävä haussa prosessi.

Esimerkkejä tiedostojärjestelmäkomennoista hakemistossa /usr/bin :

$ 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. Linux-aliakset

Nämä ovat käyttäjän määrittelemiä komentoja, ne luodaan käyttämällä aliaksen kuoren sisäänrakennettua komentoa ja sisältävät muita kuorikomentoja joitain vaihtoehtoja ja argumentteja. Ajatuksena on periaatteessa käyttää uusia ja lyhyitä nimiä pitkiä komentoja varten.

Aliaksen luomisen syntaksi on seuraava:

$ alias newcommand='command -options'

Voit listata kaikki järjestelmän aliakset lähettämällä alla olevan komennon:

$ 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'

Voit luoda uuden aliaksen Linuxiin käymällä läpi joitain alla olevia esimerkkejä.

$ alias update='sudo apt update'
$ alias upgrade='sudo apt dist-upgrade'
$ alias -p | grep 'up'

Edellä luomamme aliakset toimivat kuitenkin vain väliaikaisesti, kun järjestelmä käynnistetään uudelleen, ne eivät toimi seuraavan käynnistyksen jälkeen. Voit asettaa pysyviä aliaksia .bashrc -tiedostoon alla esitetyllä tavalla.

Kun olet lisännyt ne, suorita alla oleva komento aktiiviseksi.

$ source ~/.bashrc

3. Linux-kuoren varatut sanat

Shell-ohjelmoinnissa sanat, kuten if, then, fi, for, while, case, esac, else, till ja monet muut ovat shell-varattuja sanoja. Kuten kuvauksesta käy ilmi, niillä on erityinen merkitys kuorelle.

Voit luetella kaikki Linux-kuoren avainsanat käyttämällä type -komentoa kuvan mukaisesti:

$ 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. Linux-kuoritoiminnot

Kuoritoiminto on joukko komentoja, jotka suoritetaan yhdessä nykyisen kuoren sisällä. Toiminnot auttavat suorittamaan tietyn tehtävän shell-komentosarjassa. Tavallinen komentojonon komentotulkin toimintojen kirjoitusmuoto on:

function_name() {
command1
command2
…….
}

Vaihtoehtoisesti

function function_name {
command1
command2
…….
}

Katsotaanpa, miten komentotulkitoiminnot kirjoitetaan komentosarjaan nimeltä 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

Kahden komennon: sudo apt update ja sudo apt dist-upgrade suorittamisen sijaan komentoriviltä olemme kirjoittaneet yksinkertaisen kuoritoiminnon, joka suorittaa nämä kaksi komentoa yhtenä. komento, upgrade_system komentosarjassa.

Tallenna tiedosto ja tee sen jälkeen komentosarja suoritettavaksi. Suorita se lopuksi seuraavasti:

$ chmod +x shell_functions.sh
$ ./shell_functions.sh

5. Sisäiset Linux Shell -komennot

Nämä ovat kuoren sisäänrakennettuja Linux-komentoja, joten et löydä niitä tiedostojärjestelmästä. Ne sisältävät pwd, cd, bg, aliaksen, historian, tyypin, lähteen, lukun, poistumisen ja monet muut.

Voit luetella tai tarkistaa Linuxin sisäänrakennetut komennot käyttämällä type -komentoa kuvan mukaisesti:

$ 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

Lisätietoja joistakin Linuxin sisäänrakennetuista komentojen käytöstä:

  1. 15 'pwd' -komentoesimerkkiä Linuxissa
  2. 15 'CD' -komentoesimerkkiä Linuxissa
  3. Opi Linuxin "historia" -komento

Johtopäätös

Linux-käyttäjänä on aina tärkeää tietää käyttämäsi komentotyyppi. Uskon, että yllä olevan täsmällisen ja helposti ymmärrettävän selityksen ja muutaman asiaankuuluvan kuvan avulla sinulla on todennäköisesti hyvä käsitys Linux-komentojen eri luokista.

Voit myös päästä vaikeuksiin alla olevan kommenttiosan kautta, jos sinulla on kysyttävää tai lisäideoita, joita haluat tarjota meille.