Sous Windows, la plupart des applications et des données d'application sont stockées dans un répertoire spécial connu sous le nom de C:\Program Files
(et occasionnellement C:\Program Files (x86)
). Quel est l'équivalent Ubuntu/Linux de ce chemin ? Y en a-t-il même un ?
Réponses
Trop de publicités?Réponse tardive - J'ai créé une feuille de route que les débutants peuvent suivre. S'ils recherchent un fichier mais ne savent pas où chercher, ils peuvent utiliser la carte pour s'orienter grossièrement. Vous pouvez télécharger un PNG haute résolution aquí . Vous pouvez trouver le post correspondant aquí . Je continuerai à mettre à jour le fichier et le post lorsque le temps le permettra, en intégrant les commentaires utiles.
[EDIT : Vous devriez probablement consultez plutôt la réponse de d4nyll qui est une carte astucieuse, faisant office de guide complet du système de fichiers Linux pour les débutants].
/bin
y /usr/bin
est l'endroit où se trouvent les scripts qui lancent les programmes. L'équivalent direct de "Program Files" est probablement /opt
ou peut-être /usr/share
( voir Norme de hiérarchie des systèmes de fichiers ). Ce répertoire contient les différents fichiers de support de la plupart des programmes.
Cependant, il n'y a probablement pas d'équivalent direct, puisque, par exemple, les fichiers de bibliothèque sont partagés sur tout le système (dans /lib
) et les options sont soit spécifiées par l'utilisateur (dans le répertoire personnel de l'utilisateur), soit universellement situées dans le dossier /etc
.
Ainsi, l'installation d'un programme par le biais d'un fichier deb, d'un dépôt ou d'une compilation placera probablement des fichiers dans tous ces emplacements.
[Et comme d'autres l'ont fait remarquer, il y a aussi /sbin
y /usr/sbin
. Plus /usr/local/bin
, /opt/bin
et même /usr/games/
. Il ne s'agit donc pas d'une comparaison directe avec c:\program files
!
EDIT : Voir aussi La réponse de d4nyll en dessous de au-dessus de pour une carte excellente et adaptée aux débutants !
Lisez ma réponse ci-dessous pour plus d'informations sur ce qu'est la PATH
variable d'environnement est, ce que .desktop
et comment trouver un programme spécifique en utilisant diverses commandes linux.
Réponse originale :
Il n'y a pas de réponse facile.
/bin
, /usr/bin
y /usr/share
Comme mentionné dans les autres réponses, vous pouvez trouver la plupart des exécutables sous /bin
o /usr/bin
et les fichiers de support sont installés dans /usr/share
.
/usr/local
y /opt
Il existe cependant d'autres répertoires dans lesquels Ubuntu installe des applications. Le site PATH
qui détermine où chercher une commande saisie, peut vous donner un indice, la mienne 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 le Standard de la hiérarchie des systèmes de fichiers qui est une très bonne lecture. Malheureusement, la différence entre /opt
y /usr/local
n'est pas très bien expliqué, quelqu'un sur le unix stackexchange avait une explication plus élaborée :
-
/usr/local
est un endroit où installer les fichiers construits par l'administrateur, généralement à l'aide de la commande make. L'idée est d'éviter les conflits avec les fichiers qui font partie des systèmes d'exploitation et qui, autrement, seraient écrasés ou écraseraient les fichiers locaux. ex./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 les paquets dégroupés, chacun dans son propre sous-répertoire. Il s'agit de paquets entiers déjà construits fournis par un distributeur de logiciels tiers indépendant. Par exemplesomeapp
serait installé dans/opt/someapp
l'une de ses commandes serait dans/opt/someapp/bin/foo
[et ensuite, généralement, un lien symbolique est créé dans l'un des fichiersbin
dans les répertoiresPATH
ou le programme est appelé à partir d'un fichier de bureau (voir ci-dessous)].
Recherche d'un programme ou d'une commande spécifique
.desktop
fichiers
Pour savoir où un programme spécifique est installé, vous pouvez procéder de plusieurs manières. Tout d'abord, vous devez localiser son .desktop
fichier. Les fichiers du bureau sont similaires aux raccourcis de Windows et, pour les applications système, ils se trouvent à l'emplacement suivant /usr/share/applications
. Les fichiers de bureau des applications qui ne sont disponibles que pour l'utilisateur actuel se trouvent dans le répertoire ~/.local/share/applications
. Prenons l'exemple de Google Chrome, qui possède le fichier de bureau /usr/share/applications/google-chrome.desktop
et cherchez la ligne qui commence par Exec=
ceci détermine comment démarrer Google Chrome. C'est écrit :
Exec=/opt/google/chrome/google-chrome
Donc vous savez que Google Chrome est en /opt
.
Maintenant pour Mozilla Firefox qui est situé dans /usr/share/applications/firefox.desktop
. Il dit simplement
Exec=firefox %u
Au début, ça ne semble pas être d'une grande aide, mais ensuite vous réalisez que firefox
doit être dans un répertoire qui se trouve dans le PATH
(très probablement une bin
), et nous pouvons le consulter (voir ci-dessous).
Recherche de commandes
Pour rechercher des commandes, vous pouvez utiliser un ou plusieurs des éléments suivants : type
, which
y whereis
(J'ai inclus un lien vers les pages de leur manuel en ligne).
-
type Il décrit une commande, et indique comment il serait interprété s'il était utilisé comme nom de commande. Les types possibles pour une commande sont :
- alias (Shell alias)
- fonction (Shell)
- builtin (Shell builtin)
- fichier (fichier disque)
- mot-clé (mot réservé Shell)
(le type lui-même est un Shell builtin, essayez-le avec
type type
:P)Exécuter
type firefox
nous donnefirefox is /usr/bin/firefox
ce qui est ce que nous voulions savoir
Si une commande est un fichier (ce que vous avez vérifié avec type
) que vous pouvez alors également utiliser :
-
dont : indique le chemin complet de la commande,
Exécuter
which firefox
nous donne/usr/bin/firefox
-
où se trouve : localise les fichiers binaires, sources et la page de manuel d'une commande.
Exécuter
whereis firefox
nous donnefirefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
Bonus
Vous pouvez inspecter /usr/bin/firefox
plus proche de ls -l /usr/bin/firefox
et cela donne :
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Il semble que /usr/bin/firefox
est 'seulement' 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 :)
Il n'existe pas de répertoire unique qui soit l'équivalent exact de Fichiers de programme dossier. La façon dont Linux organise les choses est très différente de celle de Windows.
Dans Windows, chaque programme que nous installons obtient son propre répertoire dans le répertoire Program Files. Dans ce répertoire, d'autres sous-répertoires sont créés pour différents types de fichiers. Il n'y a pas de structure fixe pour les sous-répertoires. Les programmes décident eux-mêmes comment ils veulent appeler chaque répertoire et où ils veulent mettre quoi.
Mais sous Linux, lorsqu'un programme est installé, différents types de fichiers sont copiés à différents endroits. Les exécutables sont copiés dans /usr/bin les fichiers de la bibliothèque vers /usr/lib la documentation relative à un ou plusieurs des éléments suivants /usr/man , /usr/info y /usr/doc . S'il y a des fichiers de configuration, ils se trouvent généralement dans le répertoire personnel de l'utilisateur ou dans le fichier /etc .
El C:\Program Files
Le dossier serait /usr/bin
dans Ubuntu. /bin
ressemble plus à C:\windows
.
De la page manuelle de la hiérarchie du système de fichiers :
/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.
/usr/bin
This is the primary directory for executable programs. Most
programs executed by normal users which are not needed for
booting or for repairing the system and which are not installed
locally should be placed in this directory.
Ubuntu a une structure différente de celle de Windows. Ubuntu place presque toutes les applications dans un seul répertoire, disons /usr/bin
. Windows créerait un nouveau dossier, disons Mozilla Firefox
et ajoutez-y la configuration, les exécutables, les DLL, les images, etc. Ubuntu les sépare, les exécutables vont dans /usr/bin
la configuration de l'ensemble du système dans /etc
les objets partagés dans /usr/lib
des images dans /usr/share
, ...
- Réponses précédentes
- Plus de réponses