Linux le brinda control completo sobre cómo trabaja, desde la personalización hasta la gobierno del sistema. Una utensilio útil que puede hacer que su experiencia sea más suave es la which dominio. Le ayuda a encontrar rápidamente la ubicación exacta de un archivo ejecutable buscando a través de los directorios enumerados en su $PATH variable. En esta asesor, explicaremos cómo funciona qué comando funciona, explorar su sintaxis y opciones, y ocurrir por ejemplos prácticos para ayudarlo a usarlo de guisa efectiva.
Comprender el comando sintaxis y trabajar
El which El comando en Linux ayuda a encontrar el archivo ejecutable para un comando cubo. Indagación directorios enumerados en la variable de entorno de ruta. Este comando muestra qué archivo se ejecuta cuando ejecuta un comando. Devuelve la ulterior salida:
0Cuando se encuentran todos los comandos especificados y ejecutables.1Si faltan uno o más comandos o no ejecutables.2Si se usa una opción no válida.
La sintaxis universal para usar qué comando en Linux es:
which (file1) (file2) ...Reemplazar (file1) y (file2) con los nombres de los ejecutables que desea encontrar.
¿Por qué deberíamos usar qué comando
Hay muchas razones para usar el comando que en Linux. Por ejemplo, nos ayuda a determinar si un comando es un ejecutable existente, un apodo o un enlace simbólico. Encima, muestra la ubicación exacta de un archivo ejecutable. Asimismo nos permite identificar comandos faltantes o conflictivos en la variable de ruta. Encima, usando el comando asegura que la lectura correcta se ejecute cuando existen varias versiones.
Cómo usar qué comando en Linux
Exploremos algunos ejemplos para ver cómo funciona qué comando funciona en casos de uso existente:
Ejemplo 1: encontrar la ruta de un ejecutable
Podemos usar el comando qué comando para determinar dónde se almacena el archivo ejecutable de un comando:
which grep
Devuelve la ruta completa, como «/usr/bin/grep», que indica la ubicación exacta del ejecutable.
Ejemplo 2: Encuentra rutas de múltiples comandos
Podemos especificar múltiples comandos simultáneamente con el comando para realizar sus respectivas rutas:
which awk sed cat touchEste comando recupera los caminos de awk, sed y cat comandos, respectivamente:

Ejemplo 3: Muestre todas las instancias de un comando
Por defecto, which Devuelve solo la primera coincidencia que se encuentra en la ruta. Sin secuestro, podemos ejecutar el comando que con el -a opción para encontrar todos los ocurrencias de un comando:
which -a catEste comando enumera todas las ubicaciones donde cat se encuentra en el camino:

Puede realizar sus detalles, ejecutando el comando ls con el -lh opción. Esto muestra si los dos archivos son ejecutables reales o duplicados en diferentes ubicaciones:
ls -lh /usr/bin/cat && ls -lh /bin/cat
La captura de pantalla preliminar muestra dos comandos idénticos en diferentes ubicaciones, tanto de 35 kb de tamaño como ejecutable.
Ejemplo 4: verifique si existe un comando
Podemos usar el comando que para realizar la existencia de un comando específico:
which cats
Si el comando no existe, no hay salida, como se muestra en la captura de pantalla preliminar, y el estado de salida no es cero.
Ejemplo 5: Identificar enlaces simbólicos
Un sistema puede tener múltiples versiones del mismo software, pero algunas instancias pueden ser enlaces simbólicos en división de archivos binarios reales. Para encontrar los enlaces simbólicos, simplemente ejecute el comando con qué comando -a opción:
which -a crontab
A continuación, inspeccione los detalles del archivo con el ls dominio:
ls -lh /usr/bin/crontab && ls -lh /bin/crontab
Si la salida incluye ->significa que el archivo es un enlace simbólico que apunta a otra ubicación.
Ejemplo 6: excluir los comandos incorporados de shell
El which El comando solo muestra ejecutables externos y no muestra comandos incorporados de shell. Nos ayuda a identificar dónde está instalado un software en el sistema. Por ejemplo, en el ulterior comando que solo devuelve una ruta para LS ya que Read es un comando de shell incorporado:
which ls read
Qué limitaciones de comando
El which El comando tiene varias limitaciones que lo hacen menos confiable en ciertas situaciones. Por ejemplo, solo muestra ejecutables externos y no detecta comandos incorporados como cd o read. Encima, no puede diferenciar entre enlaces binarios y simbólicos. El comando exploración estrictamente directorios enumerados en el $PATH variable, lo que significa que no puede encontrar programas almacenados en otros lugares. Encima, no proporcionó detalles como tipo de archivo, permisos o lectura. Encima, si un comando no existe, no muestra un mensaje de error, sino que simplemente no devuelve ausencia.
Para aventajar estas limitaciones, puede optar por un comando independiente como Whereis, typeo ls.
Donde vs. Que comando
El where y which Los comandos ayudan a encontrar archivos, pero tienen diferentes propósitos. El where El comando se usa principalmente en Windows y algunos sistemas similares a Unix. Encuentra los dos archivos y directorios y enumera todas las coincidencias en la ruta del sistema.
El which El comando es específico para los sistemas similares a UNIX. Solo exploración archivos ejecutables en directorios enumerados en el $PATH variable. Por defecto, devuelve la primera coincidencia, pero usando which -a Enumera todos los partidos.
Por ejemplo, ejecutando where node El comando en Windows muestra todas las ubicaciones donde se encuentra el nodo. En Linux, which gcc Devuelve la primera ruta donde se encuentra el compilador GCC.
Mientras el which El comando ofrece varias características, todavía carece de algunas capacidades. Sin secuestro, esto puede superarse mediante el uso de un comando independiente, como se discutió anteriormente. Encima, el which El comando solo detecta archivos ejecutables en su $PATH. Si no se encuentra su script o software, puede humillar permisos de ejecución. Por lo tanto, asegúrese de que su script esté en un directorio enumerado en $PATH y tiene permisos de ejecución.


