GNU/Linux >> Tutoriels Linux >  >> Linux

Shell - Comment trouver le répertoire d'une commande ?

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

Linux
  1. Comment trouver le nombre de fichiers dans un répertoire et des sous-répertoires

  2. Comment exécuter la commande "find" sur le répertoire en cours uniquement et non sur les sous-répertoires

  3. Comment exclure un répertoire dans find . commande

  4. Comment puis-je trouver ma version de shell à l'aide d'une commande Linux ?

  5. Quelle commande du shell sh Linux/UNIX renvoie mon répertoire actuel ?

Comment supprimer un répertoire sous Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment exécuter une commande Shell avec Python

Comment exclure un répertoire lors de la recherche de fichiers sous Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment exécuter une commande dans un script shell ?