Lisez ma réponse ci-dessous pour plus d'informations sur la PATHnature de la variable d'environnement, sur les .desktopfichiers 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/binEt/usr/share
Comme mentionné dans les autres réponses, vous pouvez trouver la plupart des exécutables sous /binou /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 PATHvariable, qui détermine où chercher une commande entrée, peut vous donner un indice, le mien ressemble à ( echo $PATHdans 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/localet 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 /optet /usr/localn’est pas très bien expliquée, une personne travaillant sur l’ unix stackexchange avait une explication plus élaborée:
/usr/localest 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/foofait partie de l'OS tandis que /usr/local/bin/fooest une alternative locale,
/optest 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, someappserait 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 binré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 .desktopfichier. 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.desktopet 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 firefoxdoit se trouver dans un répertoire qui se trouve dans la PATHvariable (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, whichet 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 firefoxnous 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 firefoxnous donne
/usr/bin/firefox
whereis : localisez les fichiers binaires, sources et manuels d'une commande.
L'exécution whereis firefoxnous 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/firefoxplus près avec ls -l /usr/bin/firefoxet cela donne:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Il semble qu’il /usr/bin/firefoxn’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 :)