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ä:
- 15 'pwd' -komentoesimerkkiä Linuxissa
- 15 'CD' -komentoesimerkkiä Linuxissa
- 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.