Signification des répertoires sur les systèmes Unix et Unix


112

J'utilise Linux depuis quelques années maintenant, mais je n'ai toujours pas compris l'origine ou la signification de certains noms de répertoires sur Unix et sur les systèmes Unix. Par exemple, que signifie etcou var? D'où vient le optnom?

Et pendant que nous sommes sur le sujet quand même. Quelqu'un peut-il expliquer clairement quel répertoire est le mieux utilisé pour quoi? Je suis parfois confus quant à l’installation de certains logiciels ou au répertoire dans lequel installer le logiciel.


C'est drôle, unix étant une parodie de multics et celui de survivre ... Je suppose que multics était tout à fait en avance sur son temps.
SparK

Réponses:


134

Pour plus de données sur la disposition des systèmes de fichiers Linux, consultez le système de hiérarchie des systèmes de fichiers (désormais version 2.3, avec la version bêta 3.0 déployée sur les distributions les plus récentes). Cela explique en partie l'origine des noms:

  • / bin - Bin Bélier.
  • / boot - Fichiers requis pour le démarrage .
  • / dev - Dev fichiers glace.
  • / etc - Et c etera . Le nom est hérité des premiers Unix, c’est à ce moment-là qu’il est devenu le lieu idéal pour mettre des fichiers de configuration.
  • / home - Où les répertoires personnels sont conservés.
  • / lib - Lorsquecode lib raries sont conservés.
  • / media - Un répertoire plus moderne, mais où les supports amoviblessont montés.
  • / mnt - Lorsquesystèmesfichiers temporaires sont m ous nt ed.
  • / opt - Oùle logiciel complémentaire optionnel est installé. Ceci est discret/usr/local/pour des raisons que je vais arriver plus tard.
  • / run - Oùles données variables d' exécution sont conservées.
  • / sbin - Où de uper- bin aries sont stockés. Celles-ci ne fonctionnent généralement qu'avec la racine.
  • / srv - signifie " s e rv e". Ce répertoire est destiné aux fichiers statiques servis. /srv/httpserait pour les sites Web statiques,/srv/ftppour un serveur FTP.
  • / tmp - Où t e mp fichiers orary peuvent être stockés.
  • / usr - Un autre répertoire hérité de l'ancienne unix de, il est synonyme de « U NIX S ystème R essources ». Il ne signifie pas "utilisateur" (voir le wiki de Debian ). Ce répertoire doit pouvoir être partagé entre les hôtes et peut être monté en toute sécurité sur plusieurs hôtes NFS. Il peut être monté en lecture seule en toute sécurité.
  • / var - Un autre répertoire hérité des anciens Unix, il signifie " var iable". C'est ici que des données système variables peuvent être stockées. Des éléments tels que les répertoires de spool et de cache peuvent être situés ici. Si un programme a besoin d'écrire sur le système de fichiers local et ne fournit pas directement ces données à quelqu'un, cela ira ici.

/ opt vs / usr / local

La règle empirique que j'ai vue est décrite comme suit:

Utilisez-le /usr/localpour des choses qui iraient normalement dans /usr, ou qui remplaceraient des choses qui sont déjà dedans /usr. Utilisez /optpour les choses qui installent tout dans un répertoire, ou sont spéciales.


2
Le document répond très bien à la première partie de ma question. Cependant, d'où proviennent les noms, cela reste un mystère. La raison pour laquelle j'aimerais savoir, c'est parce que je pense que cela me donnera plus de contexte.
Luc

La dénomination est presque entièrement explicite. Surtout si vous lisez les descriptions dans ce lien.
Dan Carley

3
Non ce n'est pas. Il explique à quoi sert «etc» mais n'explique pas d'où vient le nom ni ce qu'il représente.
Luke

@ sysadmin1138, le /runréférencement de la RAM est-il fondamental?
Pacerier

@Pacerier C'est un système de fichiers, mais peut être monté en toute sécurité sur un disque RAM. Cela dit, de nombreux programmes adoptent une structure définie, ce qui nécessite en fait de la persistance.
sysadmin1138

22

Historiquement, /etcsignifie "etcetera" et /varest l'abréviation de "variable". Je suppose que le premier est dû au fait qu’il contient une grande collection de fichiers de configuration système non liés /etc. Ce dernier est parce que les fichiers /varsont censés changer. Vous pouvez souvent monter /usret /en lecture seule (sauf lorsque vous effectuez des mises à jour), mais vous ne pouvez jamais monter en /varlecture seule. Il contient les fichiers journaux du système, les fichiers de verrouillage, les fichiers spool et autres éléments qui changent de manière dynamique.

D'autres personnes vous ont donné des indications pour vous aider à déterminer le meilleur endroit où.


22

Désolé de ressusciter un ancien fil de discussion, mais j'estime que ce détail est une clarification importante pour tous les futurs demandeurs de cette information:

  • / opt est optionnel (comme dans les packages complémentaires optionnels).
  • / bin signifie binaire (contient les exécutables utilisés par le système d'exploitation).
  • / lib signifie bibliothèque (contient les bibliothèques partagées utilisées par le système de fichiers et pour le démarrage, probablement utilisées par les exécutables de bin)
  • / proc est synonyme de processus.
  • / root signifie utilisateur root.
  • / home contient les sous-répertoires home de tous les utilisateurs non root.
  • / dev signifie périphérique (contient les fichiers spéciaux et les fichiers de périphérique).
  • / tmp signifie temporaire.
  • / srv signifie servir.
  • / mnt signifie point de montage (montez un système de fichiers temporaire ici).
  • / include contient les fichiers #include, c'est-à-dire les fichiers d'en-tête (par exemple, stdio.h).
  • / var signifie variable
  • / etc signifie etcetera

  • / usr signifie ressources système Unix ( source )


Bonne réponse: succincte, orientée au niveau de la question et inutile de chercher d'autres liens. +1
Scott Biggs

Je n'ai jamais vu de srv auparavant. Je préfère la convention à la configuration, dans la mesure où cela a du sens et est appliqué. De toute évidence, Apache ne sert pas toujours les fichiers du répertoire / srv.
user148298

19

Essaye ça:

$ man hier

1
Joli. Cependant, tout comme le document mentionné dans d’autres réponses, cette page de manuel ne décrit que l’utilisation des répertoires. Je suis également intéressé par la raison pour laquelle certains noms ont été choisis, comme / etc., Par exemple
Luke le

2
La réponse à votre question à propos de / etc se trouve ici: en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Anonyme



1

Si vous observez plusieurs types de systèmes d'exploitation unix, vous constaterez que les noms de répertoires sont différents, mais la plupart des noms communs sont expliqués ci-dessous ...

/ bin signifie binaire (contient les fichiers binaires et contient également les commandes les plus utilisées par les utilisateurs. C'est également le chemin par défaut pour l'exécution des commandes).

/ sbin (contient les commandes spéciales généralement déclenchées par le super utilisateur)

/ lib est synonyme de bibliothèque (contient les bibliothèques partagées utilisées par le système de fichiers et pour le démarrage, probablement utilisé par les exécutables de bin) / proc est synonyme de processus (si vous voulez vérifier, ce directeur contient rien que le numéro de processus que vous pouvez vérifier par ps - ef)

/ root signifie utilisateur root (répertoire par défaut pour l'utilisateur root) / home (tous les utilisateurs non root ont leur répertoire personnel dans ce répertoire) / dev signifie device (contient des fichiers spéciaux et des fichiers de périphérique, si vous regardez dans ce répertoire via ls - l commande les numéros majeur et mineur sont également indiqués dans ce répertoire, ainsi que le type de périphérique indiqué au début de chaque ligne dans ls - l résultat (B signifie périphérique spécial, c, caractère spécial). / tmp est synonyme de temporaire (ressources temporaires requises pour certains processus conservés ici temporairement) / mnt est synonyme de point de montage (monte un système de fichiers temporaire ici). / var signifie variable (il contient des données variables, le répertoire qu'il contient change de taille à chaque fois) / opt représente optionnel (généralement, des logiciels tiers sont installés dans ce répertoire). / usr signifie ressources système Unix.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.