Příkaz which zobrazí úplnou cestu zadaného příkazu prohledáním adresářů přiřazených proměnné PATH. Například po zadání které kočky se zobrazí následující výstup:/bin/kat.
$ which cat /bin/cat
Příkaz which vám tedy může pomoci najít místo, kde byl program nainstalován, v případě, že jej potřebujete upravit. Může vám také pomoci určit, kterou verzi příkazu používáte, pokud je na různých místech uloženo více binárních souborů příkazu, z nichž jedna může být ideální. Identifikací, odkud se příkaz spouští, můžete odstranit neočekávané chování tohoto příkazu.
Syntaxe
Syntaxe příkazu which je:
$ which [options] {program names}
Pokud při spuštění příkazu which narazíte na níže uvedenou chybu:
which: command not found
můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce:
Distribuce | Příkaz |
---|---|
OS X | brew install debianutils |
Debian | apt-get install debianutils |
Ubuntu | apt-get install npm |
Alpine | apk přidat který |
Arch Linux | pacman -S který |
Kali Linux | apt-get install debianutils |
CentOS | yum install which |
Fedora | dnf install which |
Raspbian | apt-get install debianutils |
které příklady příkazů
1. Vyhledejte proměnnou prostředí PATH a zobrazte umístění všech odpovídajících spustitelných souborů:
$ which executable
2. Pokud existuje více spustitelných souborů, které se shodují, zobrazte všechny:
$ which -a executable
Poslední myšlenky
Příkaz which vyhledá spustitelný soubor ve vyhledávací cestě vašeho shellu. Můžete dokonce najít samotný program:
$ which which /usr/bin/which
Pokud má několik programů ve vaší vyhledávací cestě stejný název (například /usr/bin/who a /usr/local/bin/who), který uvádí pouze první.