Introducción
El which
El comando permite a los usuarios buscar en la lista de rutas en el $PATH
variable de entorno y genera la ruta completa del comando especificado como argumento. El comando funciona ubicando el archivo ejecutable que coincide con el comando dado.
En este tutorial, aprenderá a usar el which
comando.
Requisitos previos
- Un sistema que ejecuta Linux
- Acceso a la terminal (Ctrl +
Alternativo + T )
Linux que sintaxis de comandos y opciones
La sintaxis del which
el comando es:
which -a [argument]
Argumentos
El [argument]
variable especifica el comando o los comandos que desea encontrar.
Por ejemplo, el siguiente comando muestra la ubicación del comando cat:
which cat
Opciones
El which
El comando solo tiene una opción, -a
. Es opcional y se utiliza para imprimir todas las coincidencias que encuentra.
El comando busca coincidencias de izquierda a derecha. Si se encuentran varias coincidencias en los directorios enumerados en $PATH
, which
imprime solo el primero. El -a
opción instruye which
para imprimir todas las coincidencias.
Importante: En muchas distribuciones de Linux, which
excluye los comandos integrados de shell y no muestra su ubicación.
Por ejemplo:
which -a touch
Tener múltiples coincidencias a veces significa que una coincidencia es un enlace simbólico a la otra. Sin embargo, es posible tener dos versiones del mismo comando en diferentes ubicaciones o dos comandos diferentes con el mismo nombre.
which
no tiene --help
opción. Para ver la descripción del comando y la ayuda, ejecute man which
.
Estado de salida
El which
comando devuelve uno de los siguientes valores que indican su estado de salida:
0
. Todos los argumentos fueron encontrados y ejecutables.1
. Uno o más argumentos no existen o no son ejecutables.2
. Se ha especificado una opción no válida.
Linux qué ejemplos de comandos
Los siguientes ejemplos muestran cómo which
funciona el comando y cómo usar la opción disponible.
1. Mostrar la ruta de cualquier archivo ejecutable
Para mostrar la ruta de cualquier comando, pase el nombre del comando como argumento después de which
.
Por ejemplo:
which tr
El resultado muestra la ruta al archivo ejecutable del comando tr, ubicado en /usr/bin/tr .
2. Mostrar múltiples rutas de archivos ejecutables
which
acepta múltiples argumentos y genera la ruta a cada uno en el orden especificado.
Por ejemplo:
which nc mount sort
El comando funciona a través de la lista proporcionada y genera los resultados para el comando nc, el comando de montaje y el comando de clasificación, separando cada resultado con un carácter de nueva línea.
3. Listar todas las instancias
which
solo muestra la primera coincidencia que encuentra en el $PATH
lista de directorios de variables. Usa el -a
opción para mostrar todas las coincidencias para el comando especificado.
Por ejemplo, la búsqueda de instancias del comando menos arroja dos resultados cuando se usa el -a
opción:
which -a less
Use el comando ls para verificar los detalles del archivo y determinar si ambas versiones son archivos ejecutables. Ejecutar:
ls -lh /usr/bin/less
ls -lh /bin/less
El resultado muestra dos versiones idénticas del mismo comando en dos ubicaciones, ambas de 176 KB de tamaño y ambas ejecutables.
4. Encuentra enlaces simbólicos
Usando el -a
La opción enumera todas las rutas que contienen una instancia del programa especificado. Si bien pueden existir varias versiones del mismo programa en un sistema, a veces una de las instancias es solo un enlace simbólico y no un archivo binario.
Por ejemplo, ejecutar el siguiente comando genera dos instancias del comando atq:
which -a atq
Nuevamente, use el ls
Comando para verificar los detalles de ambos archivos. Ejecutar:
ls -lh /usr/bin/atq
ls -lh /bin/atq
El resultado muestra que ambos archivos son enlaces simbólicos (->
) solo tiene 2 bytes de tamaño y apunta al comando at.
5. Excluir elementos integrados de Shell
Como se mencionó anteriormente, el which
El comando excluye las funciones integradas de shell de su salida.
Por ejemplo, al solicitar la ubicación de los comandos read y man solo se muestra la ubicación del man
archivo ejecutable del comando, como read
es un comando de shell bash.
which read man
Conclusión
Este tutorial mostró cómo usar el which
comando en Linux para encontrar la ruta al binario ejecutable de un comando. Vea y descargue nuestra hoja de trucos de comandos de Linux para ver otros comandos esenciales de Linux y ejemplos de su uso.