Venant du monde Windows, j'ai trouvé la majorité du dossier noms de répertoires pour être assez intuitifs :
-
\Program Files
contient des fichiers utilisés par des programmes (surprise !) -
\Program Files (x86)
contient des fichiers utilisés par les programmes 32 bits sur les systèmes d'exploitation 64 bits -
\Users
(anciennementDocuments and Settings
) contient les fichiers des utilisateurs, c'est-à-dire les documents et les paramètres-
\Users\USER\Application Data
contient des données spécifiques à l'application -
\Users\USER\Documents
contient des documents appartenant à l'utilisateur
-
-
\Windows
contient des fichiers qui appartiennent au fonctionnement de Windows lui-même-
\Windows\Fonts
stocke les fichiers de polices (surprise !) -
\Windows\Temp
est un répertoire temporaire global
-
etc. Même si je n'avais aucune idée de ce que faisaient ces dossiers, je pouvais deviner avec une bonne précision à partir de leurs noms.
Maintenant, je regarde bien Linux et je suis assez confus quant à la façon de me repérer dans le système de fichiers.
Par exemple :
-
/bin
contient des binaires. Mais aussi/sbin
,/usr/bin
,/usr/sbin
, et probablement plus que je ne connais pas. Lequel est lequel?? Quelle est la différence entre eux? Si je veux créer un binaire et le mettre quelque part dans tout le système, où dois-je le mettre ? -
/media
contient des systèmes de fichiers multimédias externes. Mais/mnt
aussi . Et aucun d'eux ne contient quoi que ce soit sur mon système pour le moment ; tout semble être dans/dev
. Quelle est la différence? Où sont les autres partitions sur mon disque dur, comme leC:
etD:
qui étaient sous Windows ? -
/home
contient les fichiers et les paramètres de l'utilisateur. C'est intuitif, mais alors, qu'est-ce qui est censé entrer dans/usr
? Et pourquoi/root
est toujours séparé, même s'il s'agit d'un utilisateur avec des fichiers et des paramètres ? -
/lib
contient des bibliothèques partagées, comme des DLL. Mais aussi/usr/lib
. Quelle est la différence ? -
Qu'est-ce que est
/etc
? Cela signifie-t-il vraiment "et cetera", ou autre chose ? Quels types de fichiers devraient y aller — globaux ou locaux ? Est-ce un fourre-tout pour des choses que personne ne savait où mettre, ou y a-t-il un cas d'utilisation particulier ? -
Que sont
/opt
,/proc
, et/var
? Que représentent-ils et à quoi servent-ils ? Je n'ai rien vu de tel dans Windows*, et je n'arrive pas à comprendre à quoi ils pourraient servir.
Si quelqu'un peut penser à d'autres endroits standard qu'il pourrait être bon de connaître, n'hésitez pas à l'ajouter à la question ; j'espère que cela pourra être une bonne référence pour les gens comme moi, qui commencent à se familiariser avec les systèmes *nix.
*OK, c'est un mensonge. J'ai vu des choses similaires dans WinObj, mais évidemment pas de façon régulière. Cependant, je ne sais toujours pas ce qu'ils font sous Linux.
Réponse acceptée :
Les distributions Linux utilisent le FHS :http://www.pathname.com/fhs/pub/fhs-2.3.html
Vous pouvez également essayer man hier
.
Je vais essayer de résumer les réponses à vos questions de tête, mais je vous suggère fortement de lire le FHS :
- /bin est pour les binaires système non-superutilisateur
- /sbin est pour les binaires du système superutilisateur (racine)
- /usr/bin &/usr/sbin sont pour les binaires partagés non critiques non superutilisateur ou superutilisateur, respectivement
- /mnt sert à monter temporairement une partition
- /media permet de monter plusieurs supports amovibles à la fois
- /dev contient vos fichiers de périphérique système ; c'est une longue histoire 🙂
- Le dossier /usr et ses sous-dossiers peuvent être partagés avec d'autres systèmes, afin qu'ils aient accès aux mêmes programmes/fichiers installés au même endroit. Étant donné que /usr se trouve généralement sur un système de fichiers distinct, il ne contient pas les fichiers binaires nécessaires pour mettre le système en ligne.
- /root est séparé car il peut être nécessaire de mettre le système en ligne sans monter d'autres répertoires qui peuvent se trouver sur des partitions/disques durs/serveurs séparés
- Oui, /etc signifie "et cetera". Les fichiers de configuration du système local y sont stockés.
- /opt est un endroit où vous pouvez installer des programmes que vous téléchargez/compilez. De cette façon, vous pouvez les séparer du reste du système, avec tous les fichiers au même endroit.
- /proc contient des informations sur le noyau et les processus en cours d'exécution
- /var contient des fichiers de taille variable tels que des journaux, des e-mails, des pages Web, etc.
Pour accéder à un système, vous n'avez généralement pas besoin de /var, /opt, /usr, /home; certains des répertoires potentiellement les plus volumineux d'un système.
L'un de mes favoris, que certaines personnes n'utilisent pas, est /srv. C'est pour les données hébergées via des services comme http/ftp/samba. J'ai souvent vu /var utilisé pour cela, ce qui n'est pas vraiment son but.