Si se pregunta dónde se encuentra exactamente un determinado programa, simplemente use cuál en él. El comando which localiza un archivo ejecutable en la ruta de búsqueda de su shell.
Este comando de Linux tiene una sintaxis simple:
which [-a] filename
Veamos cómo usar este comando simple pero útil.
Linux qué comandos ejemplos
Digamos que quiere saber dónde está el ejecutable de Java, use qué comando:
which java
La salida podría ser así:
[email protected]:~$ which java
/usr/bin/java
Tenga en cuenta que solo funciona en archivos ejecutables. Por lo tanto, debe usarlo solo con el argumento de que puede ejecutar. Por ejemplo, instala Java a través del paquete JDK pero no ejecuta un comando llamado 'jdk', ejecuta 'java'. Entonces usas qué comando en java, no jdk.
Si el comando which no encuentra el ejecutable en la ruta actual, no devuelve nada.
Usando qué comando con múltiples archivos ejecutables
Puede proporcionar más de un argumento para qué comando:
which man java python nada
El resultado para mí fue:
[email protected]:~$ which man java python nada
/usr/bin/man
/usr/bin/java
/usr/bin/python
¿Notaste algo aquí? Le di cuatro argumentos pero el resultado se muestra solo para tres de ellos. Es porque 'nada' no es un ejecutable. No hay salida para eso.
Mostrar todas las rutas con qué comando
El comando which en Linux solo tiene una opción, -a. De forma predeterminada, qué comando imprime solo un nombre de ruta para sus argumentos.
Si un programa tiene un ejecutable en dos lugares, digamos en /usr/bin/program y en /usr/local/bin/program, puede mostrar ambos nombres de ruta usando la opción -a.
which -a <program_name>
Estado de salida de cual comando
Si usa qué comando en un script bash, es posible que necesite saber su estado de salida.
Qué comando tiene el siguiente estado de salida:
- 0:todos los argumentos se encuentran y son ejecutables
- 1:uno o más argumentos no existen o no son ejecutables
- 2:si se especifica una opción no válida
Eso es todo lo que necesita saber sobre qué comando en Linux. Si tiene preguntas o sugerencias, hágamelo saber en los comentarios a continuación.