Al ejecutar un comando desde la terminal, ¿cómo puedo conocer la ruta completa del comando?

2

Suponiendo que estoy escribiendo en Terminal: 'ctags', ¿cómo puedo conocer la ruta completa del comando 'ctags?

Anónimo
fuente

Respuestas:

5
$ type ctags
ctags is /usr/bin/ctags
$ type -p ctags
/usr/bin/ctags

La segunda forma es útil para hacer cosas como

$ file $(type -p ctags)
$ ls -l $(type -p ctags) 

y a menudo tiene alias which.


Si no desea confiar en la bashfuncionalidad y prefiere un comando externo, /usr/bin/whereistiene un propósito similar:

La utilidad whereis verifica los directorios binarios estándar para los programas especificados, imprimiendo las rutas de cualquiera que encuentre.

Porque whereisno se usa, $PATHsino que el resultado sysctl user.cs_pathpuede conducir a resultados diferentes.

nohillside
fuente
¿Estás seguro de que tiene un alias which? Además, ¿sabes whereis? Es interesante porque en mi caso whereis ctagsproduce resultados diferentes de which ctags.
Anónimo
Hmm, correcto, el alias no está configurado por defecto. typees un comando bash interno, /usr/bin/whereises un comando externo. Pero esperaría que dieran el mismo resultado.
nohillside
2

Escriba el comando como parámetro, por ejemplo, para encontrar la ubicación de tar

ls -l $(which tar)

que en mi caso vuelve

lrwxr-xr-x  1 root  wheel  6 Jul 26  2012 /usr/bin/tar -> bsdtar
Nómada global
fuente