Vyhledávání na webu

Pochopení různých klasifikací příkazů Shell a jejich použití v Linuxu


Pokud jde o získání absolutní kontroly nad vaším systémem Linux, pak se nic nepřibližuje rozhraní příkazového řádku (CLI). Aby se člověk stal zkušeným uživatelem Linuxu, musí rozumět různým typům příkazů shellu a vhodným způsobům jejich použití z terminálu.

V Linuxu existuje několik typů příkazů a pro nového uživatele Linuxu znalost významu různých příkazů umožňuje efektivní a přesné použití. Proto si v tomto článku projdeme různé klasifikace příkazů shellu v Linuxu.

Doporučená četba: 5 zajímavých tipů a triků pro příkazový řádek v Linuxu – část 1

Jedna důležitá věc, kterou je třeba poznamenat, je, že rozhraní příkazového řádku se liší od shellu, poskytuje pouze prostředek pro přístup k shellu. Shell, který je také programovatelný, pak umožňuje komunikovat s jádrem pomocí příkazů.

Různé klasifikace příkazů Linuxu spadají do následujících klasifikací:

1. Spustitelné soubory programu (příkazy systému souborů)

Když spustíte příkaz, Linux vyhledává v adresářích uložených v proměnné prostředí ` PATH zleva doprava spustitelný soubor tohoto konkrétního příkazu.

Adresáře v ` PATH můžete zobrazit následovně:

echo $PATH

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

Ve výše uvedeném pořadí bude nejprve prohledán adresář /home/aaronkilik/bin následovaný /usr/local/sbin a tak dále, pořadí je důležité při hledání proces.

Příklady příkazů systému souborů v adresáři /usr/bin:

ll /bin/
Ukázkový výstup
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. Linuxové aliasy

Jsou to příkazy definované uživatelem, jsou vytvářeny pomocí vestavěného příkazu alias shellu a obsahují další příkazy shellu s některými možnostmi a argumenty. Cílem je v zásadě používat nové a krátké názvy pro dlouhé příkazy.

Doporučená četba: 10 úžasných a záhadných použití (!) symbolu nebo operátoru v příkazech Linuxu

Syntaxe pro vytvoření aliasu je následující:

alias newcommand='command -options'

Chcete-li vypsat všechny aliasy ve vašem systému, zadejte níže uvedený příkaz:

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'

Chcete-li vytvořit nový alias v Linuxu, projděte si níže uvedené příklady.

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

Aliasy, které jsme vytvořili výše, však fungují pouze dočasně, po restartu systému nebudou fungovat po dalším spuštění. V souboru .bashrc můžete nastavit trvalé aliasy, jak je ukázáno níže.

Po jejich přidání spusťte níže uvedený příkaz k aktivaci.

source ~/.bashrc

3. Vyhrazená slova Linux Shell

V programování shellu se slova jako pokud, pak, fi, pro, zatímco , case, esac, else, until a mnoho dalších jsou vyhrazená slova. Jak vyplývá z popisu, mají speciální význam pro shell.

Všechna klíčová slova prostředí Linuxu můžete vypsat pomocí příkazu type, jak je znázorněno:

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

Doporučená četba: 10 užitečných operátorů řetězení Linuxu s praktickými příklady

4. Funkce Linux Shell

Funkce shellu je skupina příkazů, které jsou hromadně prováděny v rámci aktuálního shellu. Funkce pomáhají provádět konkrétní úkol ve skriptu shellu. Konvenční forma psaní funkcí shellu ve skriptu je:

function_name() {
command1
command2
…….
}

Alternativně,

function function_name {
command1
command2
…….
}

Podívejme se, jak psát funkce shellu ve skriptu s názvem 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

Namísto spouštění dvou příkazů: sudo apt update a sudo apt dist-upgrade z příkazového řádku jsme napsali jednoduchou shellovou funkci, která tyto dva příkazy spustí jako jeden příkaz upgrade_system v rámci skriptu.

Doporučená četba: 5 skriptů Shell pro nováčky v Linuxu, aby se naučili programování Shell

Uložte soubor a poté vytvořte spustitelný skript. Nakonec to spusťte, jak je uvedeno níže:

chmod +x shell_functions.sh
./shell_functions.sh

5. Vestavěné příkazy Linux Shell

Toto jsou příkazy Linuxu, které jsou zabudovány do shellu, takže je nemůžete najít v systému souborů. Patří mezi ně pwd, cd, bg, alias, historie, typ, zdroj, přečíst, ukončit a mnoho dalších.

Můžete vypsat nebo zkontrolovat vestavěné příkazy Linuxu pomocí příkazu type, jak je znázorněno:

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

Přečtěte si o některých vestavěných příkazech systému Linux:

  1. 15 příkladů příkazů „pwd“ v Linuxu
  2. 15 příkladů příkazů „cd“ v Linuxu
  3. Naučte se sílu příkazu „historie“ Linuxu

Závěr

Jako uživatel Linuxu je vždy důležité znát typ příkazu, který spouštíte. Věřím, že s přesným a snadno srozumitelným vysvětlením výše včetně několika relevantních ilustrací pravděpodobně dobře rozumíte různým kategoriím příkazů Linuxu.

Můžete se také přihlásit do sekce komentářů níže pro jakékoli dotazy nebo doplňující nápady, které byste nám chtěli nabídnout.