Lisez ma réponse ci-dessous pour plus d'informations sur la PATH
nature de la variable d'environnement, sur les .desktop
fichiers et sur la recherche d'un programme spécifique à l'aide de différentes commandes linux.
Réponse originale:
Il n'y a pas de réponse facile.
/bin
, /usr/bin
Et/usr/share
Comme mentionné dans les autres réponses, vous pouvez trouver la plupart des exécutables sous /bin
ou /usr/bin
, et les fichiers de support sont installés dans /usr/share
.
/usr/local
et /opt
Il existe cependant davantage de répertoires dans lesquels Ubuntu installe des applications. La PATH
variable, qui détermine où chercher une commande entrée, peut vous donner un indice, le mien ressemble à ( echo $PATH
dans un terminal):
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Comme vous pouvez le voir, certains logiciels sont installés dans /usr/local
et ont leur propre répertoire et bin
. Un autre endroit où de nombreux programmes sont installés est /opt
. Les propriétés de ces emplacements sont expliquées par la norme de hiérarchie du système de fichiers , qui est une très bonne lecture. Malheureusement, la différence entre /opt
et /usr/local
n’est pas très bien expliquée, une personne travaillant sur l’ unix stackexchange avait une explication plus élaborée:
/usr/local
est un emplacement pour installer les fichiers créés par l'administrateur, généralement à l'aide de la commande make. L'idée est d'éviter les conflits avec des fichiers faisant partie des systèmes d'exploitation qui pourraient être écrasés ou écrasés par des fichiers locaux. par exemple. /usr/bin/foo
fait partie de l'OS tandis que /usr/local/bin/foo
est une alternative locale,
/opt
est un répertoire pour installer des paquetages non groupés chacun dans son propre sous-répertoire. Ils constituent déjà des packages complets fournis par un distributeur de logiciels tiers indépendant. Par exemple, someapp
serait installé dans /opt/someapp
, l'une de ses commandes serait dans /opt/someapp/bin/foo
[puis un lien symbolique est généralement créé dans l'un des bin
répertoires de la PATH
, ou le programme est appelé à partir d'un fichier de bureau (voir ci-dessous)].
Trouver un programme ou une commande spécifique
.desktop
des dossiers
Pour savoir où un programme spécifique est installé, vous pouvez effectuer plusieurs étapes. Vous devez d’abord localiser son .desktop
fichier. Les fichiers du bureau sont similaires aux raccourcis dans Windows et aux applications système dans lesquelles ils se trouvent /usr/share/applications
. Les fichiers du bureau pour les applications uniquement disponibles pour l'utilisateur actuel se trouvent dans ~/.local/share/applications
. Prenons l'exemple de Google Chrome, qui contient le fichier du bureau, /usr/share/applications/google-chrome.desktop
et la ligne commençant par celle-ci Exec=
, qui détermine le démarrage de Google Chrome. Ça dit:
Exec=/opt/google/chrome/google-chrome
Donc, vous savez que Google Chrome est dans /opt
.
Maintenant pour Mozilla Firefox qui se trouve dans /usr/share/applications/firefox.desktop
. Il dit simplement
Exec=firefox %u
Au début, cela ne semble pas beaucoup aider, mais ensuite vous réalisez que cela firefox
doit se trouver dans un répertoire qui se trouve dans la PATH
variable (très probablement a bin
), et nous pouvons le rechercher (voir ci-dessous).
En levant les commandes
Pour rechercher des commandes que vous pouvez utiliser un ou plusieurs des éléments suivants: type
, which
et whereis
(je l' ai inclus un lien vers leurs pages de manuel en ligne).
type : il décrit une commande et indique comment elle serait interprétée si elle était utilisée comme nom de commande. Les types possibles pour une commande sont:
- alias (shell alias)
- fonction (fonction shell)
- construit (shell construit)
- fichier (fichier disque)
- mot clé (mot réservé shell)
(tapez lui-même un shell intégré, essayez-le avec type type
: P)
L'exécution type firefox
nous donne
firefox is /usr/bin/firefox
c'est ce que nous voulions savoir
Si une commande est un fichier (que vous avez coché type
), vous pouvez également utiliser:
qui : montre le chemin complet de la commande,
L'exécution which firefox
nous donne
/usr/bin/firefox
whereis : localisez les fichiers binaires, sources et manuels d'une commande.
L'exécution whereis firefox
nous donne
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
Prime
Vous pouvez inspecter de /usr/bin/firefox
plus près avec ls -l /usr/bin/firefox
et cela donne:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Il semble qu’il /usr/bin/firefox
n’ya «qu’un» lien symbolique vers le script /usr/lib/firefox/firefox.sh
. Si vous inspectez le script, vous découvrez que le script appelle /usr/lib/firefox/firefox
.
Vous pouvez reposer en paix maintenant :)