GNU/Linux >> Tutoriels Linux >  >> Linux

Linux – Répertoires standard et/ou communs sur les systèmes Unix/linux ?

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 (anciennement Documents 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 le C: et D: 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.
Connexe :Pourquoi utilisons-nous « ./ » (barre oblique) pour exécuter un fichier sous Linux/UNIX ?

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.


Linux
  1. Un moyen facile de masquer des fichiers et des répertoires sous Linux

  2. Trouver des fichiers et des répertoires sous Linux comme un pro

  3. Comment archiver des fichiers et des répertoires sous Linux [Partie 2]

  4. Comment archiver des fichiers et des répertoires sous Linux [Partie 1]

  5. Linux Supprimer des fichiers et des répertoires

Comment déplacer des fichiers et des répertoires sous Linux (commande mv)

Comment installer Rclone sous Linux et Unix

Comment sauvegarder des fichiers et des répertoires à l'aide de Rsync sous Linux

3 façons de trouver des fichiers et des répertoires sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Commande ls sous Linux/UNIX