Latinoamérica
de.novatoanovato@gmail.com

Comando -which-

Dedicado al nuevo usuario de software libre

Comando -which-

Comando which

El comando which es una herramienta para interfaces de lineas de comandos (CLI) que permite realizar búsquedas especificas de ejecutables (programas instalados) que se encuentren en nuestros sistema operativo, este comando viene por defecto en la mayoría de las distribuciones GNU/Linux. En pocas palabras, es un programas que nos permite, desde nuestra terminal, buscar programas instalados en GNU/Linux.

Localiza los ficheros ejecutables mediante la variable de entorno PATH para los archivos ejecutables que coincidan con los nombres que se pasan como argumentos. No sigue los enlaces simbólicos.

Objetivo de este artículo

El principal objetivo de este artículo es que identifique el uso del comando which, conozca las opciones disponibles en su sintaxis y comprenda como utilizarlas para sacarle el máximo provecho.

Sintaxis del comando which

El comando witch se corresponde con la siguiente sintaxis:

which [opciones] [ejecutable]

Antes de continuar es necesario señalar que el comando which localiza los ejecutables utilizando la variable de entorno PATH, quien tiene cargado por defecto los directorios establecidos por el estándar de jerarquía de archivos FHS, quienes contienen los binarios y ejecutables de nuestro sistema. Este comando devuelve un resultado para los archivos ejecutables que coincidan con los nombres que se pasan como argumentos. Aunque debe tener en cuenta que no sigue a los enlaces simbólicos.

Si quisiéremos ver el contenido de PATH, podríamos utilizar el comando cat de la siguiente manera:

cat $PATH

Debe entenderse también, que si el ejecutable no se encuentra en ninguna de las rutas cargadas en la variable de entorno PATH, no serán localizados par which.

Comando which

El comando which ejecutado de forma directa señalando a un ejecutable valido (que este instalado en nuestro sistema y contenido en los directorios cargados en la variable de entorno PATH), nos devolverá la ruta absoluta del ejecutable que coincida con el ejecutable pasado como parámetro. Busquemos la ruta del ejecutable del comando ls. Ejecutemos entonces:

which ls

Como podemos observar, hemos obtenido la ruta absoluta donde se aloja el ejecutable del comando ls.

Opciones del comando which

El comando which cuenta con algunas opciones dentro de su sintaxis que nos permitirán realizar búsquedas de ejecutables dentro de nuestro sistema un tanto mas especificas.

Obtener todas las coincidencias existentes

En las sintaxis del comando which contamos con una opción que nos permite obtener todas las coincidencias para un argumento de búsqueda, esta opciones es -a o –all (todas). Es decir, que si pasamos el nombre de un ejecutable con esta opción, no solo nos imprimirá la primera coincidencia que encuentre con el argumento, sino que nos imprimirá por la salida estándar todas las coincidencias existentes (de haber). Para este ejemplo buscaremos el ejecutable de software de aplicación Gimp:

which --all gimp o which -a gimp

Como podemos observar, se nos devolvió por pantalla la única coincidencia encontrada para el argumento que pasamos.

Buscar mas de un ejecutable a la vez

El comando which nos permite realizar búsquedas de mas de un ejecutable en un solo tiempo de ejecución. De pasar mas de un argumento de búsqueda valido, se nos listaran las rutas de las coincidencias en el mismo orden en el que fueron ingresadas. Para este ejemplo, buscaremos el directorio de los ejecutables instalados Firefox, Krita, Inkscape y Terminator. Entonce ejecutemos:

which firefox krita inkscape terminator

Opciones avanzadas del comando which

Si bien para usuarios de sistemas este comando es muy simple de usar y probablemente no necesites saber mas que esas opciones. Para usuarios avanzados de sistemas o administradores, puede que las siguientes opciones le sean de utilidad. Ya que son filtros de búsqueda para directorios añadidos a la variable de entorno PATH que contengas ejecutables añadidos por algún propósito especifico. Como no cuento con ninguna modificación, no podre ejemplificar, pero haremos mención de alguno de ellos.

  • –skip-dot : omite los directorios contenido en PATH que comienzan con un punto (ocultos). –> which --skip-dot [ejecutable]
  • –skip-tilde : Omite los directorios contenidos en PATH que comienzan con una tilde.  –> which --skip-tilde [ejecutable]
  • –show-dot : No expande el punto (.) en el inicio de la ruta de una coincidencia encontrada en la salida. –> which --show-dot [ejecutable]
  • –show-tilde : Muestra una tilde para el directorio con acceso para usuarios del sistema que no son root. which --show-tilde [ejecutable]

Puedes seguirnos en:

Ayudanos a mantener el sitio con una contribución.
Muchas gracias!

Espero sea de utilidad.
Saludos, Cristian Bellini.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

5 × 4 =