En ocasiones nos podemos encontrar que después de instalar un programa no sepamos la ubicación donde se encuentra instalado.
Para saber dónde está instalado un programa, disponemos de varios métodos que veremos en este post.
1) Cómo saber dónde está instalado un programa: which
El comando which, realiza una búsqueda del binario que estamos buscando en la variable de entorno del sistema: PATH
Por ejemplo:
Si ejecutamos:
[root@LINUX1 ~]# which httpd
/usr/sbin/httpd
/usr/sbin/httpd
Vemos que el comando which, devuelve la ruta completa de donde está el binario.
Según el ejemplo, nos devuelve la ruta donde está situado el binario: httpd.
Recordemos que el comando which, busca en el interior de la variable de entorno PATH.
Podemos ver las rutas definidas en la variable de entorno PATH de la siguiente forma:
[root@LINUX1 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Si quieres trabajar con variables de entorno en Linux, puedes revisar este post:
Por defecto, el comando which, solo nos muestra el primer binario encontrado en las rutas definidas en la variable de entorno PATH del sistema.
Si queremos que el comando which nos muestre el binario en todas las rutas especificadas en la variable PATH, utilizaremos el parámetro -a.
Ejemplo con y sin el parámetro: -a:
[root@LINUX1 ~]# which -a reboot
/sbin/reboot
/usr/bin/reboot
/sbin/reboot
/usr/bin/reboot
2) Cómo saber dónde está instalado un programa: whereis
El comando whereis es muy similar al comando anterior: which.
El comando whereis, también restringe sus búsquedas a las rutas definidas en la variable de entorno PATH.
La diferencia entre el comando whereis y which, es que whereis no solo muestra binarios ejecutables si no que muestra el resto de ficheros que coinciden con la cadena buscada.
Ejemplo de ejecución:
[root@LINUX1 ~]# whereis reboot
reboot: /usr/bin/reboot /sbin/reboot /usr/share/man/man2/reboot.2.gz /usr/share/man/man8/reboot.8.gz
Sin embargo, podemos hacer que whereis funcione igual que which, especificando el parámetro -b.
Con whereis -b, solo nos mostrará los binarios ejecutables.
Este sería el equivalente a ejecutar: which -a reboot, utilizando el comando: whereis
[root@LINUX1 ~]# whereis -b reboot
reboot: /usr/bin/reboot /sbin/reboot
reboot: /usr/bin/reboot /sbin/reboot
3) Cómo saber dónde está instalado un programa: find
Los comandos anteriores (which y whereis) restringen la búsqueda en las rutas especificadas en la variable de entono de sistema: PATH.
Si el programa instalado, no ha guardado el binario ejecutable dentro de estas rutas, los comandos which y whereis, no mostraran la ubicación.
No es habitual que esto suceda, ya que las rutas definidas en la variable de entorno PATH incluyen los directorios de binarios del sistema.
Veamos cómo realizar una búsqueda de un binario especificando la ruta.
Con el comando find, podemos realizar búsquedas de ficheros a partir de una ruta especificada.
Veamos un ejemplo:
[root@LINUX1 ~]# find / -executable -type f -iname "httpd*"
/usr/local/psa/admin/sbin/httpd_modules_ctl
/usr/local/psa/admin/sbin/httpdmng
/usr/sbin/httpd
/usr/sbin/httpd.worker
/usr/sbin/httpd.event
/etc/rc.d/init.d/httpd
/usr/local/psa/admin/sbin/httpd_modules_ctl
/usr/local/psa/admin/sbin/httpdmng
/usr/sbin/httpd
/usr/sbin/httpd.worker
/usr/sbin/httpd.event
/etc/rc.d/init.d/httpd
Veamos los parámetros utilizados:
A continuación del comando find, encontramos: "/", significa que la búsqueda de ficheros se iniciará a partir de la raíz del sistema.
Con los parámetros: "-executable -type f", indicamos que busque ficheros ejecutables (ficheros con permisos de ejecución)
Con el parámetro: -iname, especificamos la cadena a buscar, ignorando distinción entre mayúsculas y minúsculas.
--
Podemos encontrar más ejemplos sobre el funcionamiento del comando find de Linux, en el siguiente enlace:
Linux: Buscar ficheros, directorios con find (SYSADMIT.com)
--
Podemos encontrar más ejemplos sobre el funcionamiento del comando find de Linux, en el siguiente enlace:
Linux: Buscar ficheros, directorios con find (SYSADMIT.com)
Buenísimo el tutorial, gracias.
ResponderEliminarGracias a ti por tu comentario.
EliminarUn saludo,
Xavi.
Gracias por hacer un "brainbooster" a nuestros debiles cerebros
ResponderEliminar¡De nada!
EliminarUn saludo,
Xavi.
Gracias
ResponderEliminarexcelente tutorial, me agradó mucho
ResponderEliminarGracias por su sitio. ¡Linux!
ResponderEliminar