Zjistěte, zda se vámi zadaný příkaz v Linuxu chová jako alias, odkazuje na soubor na disku, je funkcí shellu, vestavěným příkazem, nebo zda se jedná o vyhrazené slovo. Pomocí nástroje type
můžete detailně prozkoumat, jakým způsobem jsou vaše příkazy interpretovány, a získat tak hlubší vhled do fungování systému.
Jak Systém Rozumí Vašim Příkazům
Když v terminálu zadáváme příkazy, málokdy se zamýšlíme nad tím, jaké mechanismy operačního systému Linux se starají o jejich provedení. Jednoduše zadáme příkaz, obdržíme výsledek a pokračujeme v práci. Nicméně, detailnější pochopení způsobu, jakým jsou příkazy zpracovávány, nám může odhalit zajímavé aspekty fungování operačního systému.
Díky hlubšímu pochopení vnitřních procesů operačního systému se stáváme zkušenějšími uživateli, schopnými efektivněji využívat jeho možnosti. Příkazy, které zadáváme do příkazového řádku, lze kategorizovat do několika skupin:
- Alias: Jedná se o uživatelsky nebo systémově definovanou zkratku, která zastupuje delší sekvenci příkazů.
- Soubor na disku: Zpravidla se jedná o spustitelný binární soubor, například
/usr/bin/top
. - Funkce shellu: Funkce definované uživatelem nebo systémem, které je možné volat z příkazové řádky nebo začlenit do skriptů.
- Vestavěný příkaz: Příkazy, které jsou nativně implementovány v shellu, například
pwd
. - Vyhrazené slovo: Klíčová slova, jako
if
neboelif
, která jsou rezervovaná pro speciální účely v shellu.
Příkaz type
nám pomáhá rozlišit, do které z výše uvedených kategorií spadá konkrétní příkaz. Následuje krátký přehled, jak interpretovat výstup tohoto příkazu.
Použití Příkazu type
Pojďme si ukázat několik příkladů pro každou kategorii příkazů:
type date
Zde vidíme, že příkaz date
je spustitelný soubor uložený na disku.
type ls
V tomto případě je ls
alias, který ve skutečnosti spouští základní příkaz ls
s přednastavenou volbou --color=auto
.
type lowdown
Příkaz lowdown
je uživatelsky definovaná funkce, kterou autor článku vytvořil pro účely zjištění informací o systému. V podstatě jde o sekvenci příkazů whoami
, w
, free
a df
.
type pwd
Příkaz pwd
je vestavěný příkaz v shellu Bash.
type elif
Zde vidíme, že elif
je vyhrazené slovo v prostředí Bash.
Testování Více Příkazů Najednou
Příkaz type
umožňuje ověřovat více příkazů najednou:
type date top ls
Možnost -t
(Stručný Výstup)
Možnost -t
zkrátí výstup příkazu type
na jednoslovné odpovědi, což může být užitečné pro automatizované zpracování.
type -t date
type -t pwd
type -t lowdown
Možnost -a
(Zobrazení Všech Výskytů)
Možnost -a
zobrazí všechny instance daného příkazu, včetně aliasů a základních souborů. Tato volba nefunguje v kombinaci s -p
.
Například, pokud máte alias se stejným názvem jako základní příkaz, pomocí -a
můžete zobrazit informace o obou.
type -a ls
Možnost -f
(Ignorování Funkcí)
Volba -f
způsobí, že příkaz type
nebude hledat uživatelsky definované funkce. Pokud zadáte příkaz, který je funkcí, type
oznámí, že příkaz nebyl nalezen.
type -f top
type -f lowdown
Možnost -P
(Vyhledávání v $PATH
)
Volba -P
omezí vyhledávání pouze na adresáře definované v proměnné prostředí $PATH
. Zobrazí tedy pouze absolutní cestu k spustitelným souborům.
type -P date chmod adduser
Možnost -p
(Pouze Soubory na Disku)
Volba -p
vypíše cestu k příkazu pouze v případě, že se jedná o soubor uložený na pevném disku.
type -p mount
type -p ls
type -p -a ls
Všimněte si, že type -p ls
nezobrazí žádný výstup, protože ls
je v tomto případě alias, a ne soubor na disku. Pokud však použijeme type -p -a ls
, zobrazí se nám cesta k základnímu spustitelnému souboru, na který alias odkazuje.
Závěr
Často považujeme vše, co zadáváme v terminálu, za „příkaz“, ale jak jsme si ukázali, příkazy jsou v Linuxu implementovány různými způsoby. Příkaz type
vám pomůže lépe pochopit, jak je který příkaz implementován, a odhalí vám detaily fungování operačního systému.
Pro více informací o proměnné $PATH
, navštivte man stránky.