215 votes

Quel est l'équivalent Linux du Program Files de Windows ?

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 ?

144voto

T1000 Points 430

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.

117voto

Camilo Díaz Repka Points 2682

[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.

Nautilus showing /usr/share

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 !

87voto

Vrolijk Points 1

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 exemple someapp 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 fichiers bin dans les répertoires PATH 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 :

    1. alias (Shell alias)
    2. fonction (Shell)
    3. builtin (Shell builtin)
    4. fichier (fichier disque)
    5. 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 donne

    firefox 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 donne

    firefox: /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 :)

18voto

Matthew Steeples Points 4637

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 .

10voto

Lekensteyn Points 162346

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 , ...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X