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:
- 15 příkladů příkazů „pwd“ v Linuxu
- 15 příkladů příkazů „cd“ v Linuxu
- 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.