Pokud vás zajímá, kde přesně se určitý program nachází, jednoduše na něm použijte který. Příkaz which vyhledá spustitelný soubor ve vyhledávací cestě vašeho shellu.
Tento příkaz pro Linux má jednoduchou syntaxi:
which [-a] filename
Podívejme se, jak tento jednoduchý, ale užitečný příkaz používat.
Příklady příkazů Linux
Řekněme, že chcete vědět, kde je spustitelný soubor Java, použijte který příkaz:
which java
Výstup může vypadat takto:
[email protected]:~$ which java
/usr/bin/java
Všimněte si, že to funguje pouze na spustitelné soubory. Měli byste jej tedy používat pouze s argumentem, že můžete běžet. Například nainstalujete Javu prostřednictvím balíčku JDK, ale nespustíte příkaz s názvem ‚jdk‘, ale ‚java‘. Jaký příkaz tedy použijete na javě, ne na jdk.
Pokud příkaz which nenajde spustitelný soubor v aktuální cestě, nevrací nic.
Použití kterého příkazu s více spustitelnými soubory
Ke kterému příkazu můžete zadat více než jeden argument:
which man java python nada
Výstup pro mě byl:
[email protected]:~$ which man java python nada
/usr/bin/man
/usr/bin/java
/usr/bin/python
Všimli jste si tady něčeho? Dal jsem tomu čtyři argumenty, ale výsledek se zobrazí pouze pro tři z nich. Je to proto, že „nada“ není spustitelný soubor. Pro to není žádný výstup.
Zobrazit všechny cesty pomocí kterého příkazu
Příkaz which v Linuxu má pouze jednu možnost, -a. Ve výchozím nastavení tento příkaz vypíše pouze jednu cestu pro své argumenty.
Pokud má program spustitelný soubor na dvou místech, řekněme v /usr/bin/program a v /usr/local/bin/program, můžete zobrazit obě cesty pomocí volby -a.
which -a <program_name>
Stav ukončení toho kterého příkazu
Pokud použijete který příkaz ve skriptu bash, možná budete potřebovat znát jeho stav ukončení.
Který příkaz má následující stav ukončení:
- 0 – všechny argumenty jsou nalezeny a spustitelné
- 1 – jeden nebo více argumentů neexistuje nebo nelze provést
- 2 – pokud je zadána neplatná možnost
To je vše, co potřebujete vědět o kterém příkazu v Linuxu. Pokud máte dotazy nebo návrhy, dejte mi vědět v komentářích níže.