Si vous utilisez Bash ou zsh, utilisez ceci :
type -a lshw
Cela montrera si la cible est une fonction intégrée, une fonction, un alias ou un exécutable externe. Si ce dernier, il affichera chaque lieu qu'il apparaît dans votre 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
Dans Bash, pour les fonctions type -a
affichera également la définition de la fonction. Vous pouvez utiliser declare -f functionname
pour faire la même chose (il faut l'utiliser pour zsh, depuis type -a
pas).
Comme ceci :
which lshw
Pour voir toutes les commandes qui correspondent à votre chemin :
which -a lshw
PATH
est une variable d'environnement, et peut être affichée avec la commande echo :
echo $PATH
C'est une liste de chemins séparés par le caractère deux-points ':
'
Le which
La commande vous indique quel fichier est exécuté lorsque vous exécutez une commande :
which lshw
parfois ce que vous obtenez est un chemin vers un lien symbolique; si vous voulez tracer ce lien vers l'endroit où se trouve l'exécutable réel, vous pouvez utiliser readlink
et alimentez-le avec la sortie de which
:
readlink -f $(which lshw)
Le -f
le paramètre indique readlink
pour continuer à suivre le lien symbolique de manière récursive.
Voici un exemple de ma machine :
$ which firefox
/usr/bin/firefox
$ readlink -f $(which firefox)
/usr/lib/firefox-3.6.3/firefox.sh