El comando which muestra la ruta completa de un comando específico al buscar los directorios asignados a la variable PATH. Por ejemplo, al ingresar qué gato, se muestra el siguiente resultado:/bin/gato.
$ which cat /bin/cat
Por lo tanto, el comando which puede ayudarlo a ubicar dónde se ha instalado un programa en caso de que necesite modificarlo. También puede ayudarlo a identificar qué versión de un comando está usando si hay varios binarios del comando almacenados en diferentes ubicaciones, uno de los cuales puede ser más ideal. Al identificar desde dónde se ejecuta un comando, puede solucionar el comportamiento inesperado de ese comando.
Sintaxis
La sintaxis del comando which es:
$ which [options] {program names}
Si encuentra el siguiente error al ejecutar el comando:
which: command not found
puede intentar instalar el siguiente paquete según su elección de distribución:
Distribución | Comando |
---|---|
OS X | instalar debianutils |
Debian | apt-get install debianutils |
Ubuntu | apt-get install npm |
Alpino | apk agregar cuál |
Arco Linux | pacman -S que |
Kali Linux | apt-get install debianutils |
Cent OS | yum instalar cuál |
Fedora | dnf instalar cual |
Raspbian | apt-get install debianutils |
qué ejemplos de comandos
1. Busque la variable de entorno PATH y muestre la ubicación de cualquier ejecutable coincidente:
$ which executable
2. Si hay varios ejecutables que coinciden, muestra todos:
$ which -a executable
Reflexiones finales
El comando which localiza un archivo ejecutable en la ruta de búsqueda de su shell. Incluso puede encontrar el programa en sí mismo:
$ which which /usr/bin/which
Si varios programas en su ruta de búsqueda tienen el mismo nombre (por ejemplo, /usr/bin/who y /usr/local/bin/who), que informa solo el primero.