Si está usando Bash o zsh, use esto:
type -a lshw
Esto mostrará si el objetivo es una función integrada, un alias o un ejecutable externo. Si es lo último, mostrará cada lugar en el que aparece en su PATH .
bash$ type -a lshw
lshw is /usr/bin/lshw
bash$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
bash$ zsh
zsh% type -a which
which is a shell builtin
which is /usr/bin/which
En Bash, para funciones type -a también mostrará la definición de la función. Puedes usar declare -f functionname para hacer lo mismo (tienes que usar eso para zsh, ya que type -a no lo hace).
Así:
which lshw
Para ver todos los comandos que coinciden en su ruta:
which -a lshw
PATH es una variable de entorno y se puede mostrar con el comando echo:
echo $PATH
Es una lista de rutas separadas por el carácter de dos puntos ': '
El which El comando le dice qué archivo se ejecuta cuando ejecuta un comando:
which lshw
a veces lo que obtienes es una ruta a un enlace simbólico; si desea rastrear ese enlace hasta donde se encuentra el ejecutable real, puede usar readlink y alimentarlo con la salida de which :
readlink -f $(which lshw)
El -f el parámetro instruye readlink para seguir siguiendo el enlace simbólico de forma recursiva.
Aquí hay un ejemplo de mi máquina:
$ which firefox
/usr/bin/firefox
$ readlink -f $(which firefox)
/usr/lib/firefox-3.6.3/firefox.sh