Système de fichiers Linux

Quelles sont les conventions pour les emplacements de fichiers dans Linux? Jusqu'à présent, j'ai réussi à en déduire:

/ Proc (références aux processus en cours d'exécution)

/ Dev (références à tout le matériel)

/ Etc (fichiers de configuration)

/ Maison (maison)

/ Mnt (appareils montés)

/ Media (périphériques amovibles tels que CD, disques USB)

… mais d'autres parties ne sont toujours pas claires, par exemple:

Où puis-je mettre une source téléchargée?

/ Usr / src

/ Usr / local / src

Où puis-je mettre des programmes compilés?

/poubelle

/ Usr / bin

/ Usr / local / bin

Quelle est la différence entre / bin et / sbin ?

Comment les distributions diffèrent-elles?

Je me rends compte que ce ne sont pas une question, mais il me semble qu'ils devraient tous être répondu ensemble. Espérons que d'autres sont également confus.

Vous voudrez peut-être lire le Système hiérarchique Système de fichiers ; C'est une référence utile.

Votre répertoire personnel est l'endroit où la plupart d'entre eux devraient aller. Imaginez que vous n'êtes pas le sysadmin; Prétendez que vous êtes encore une autre personne avec un compte sur le système. Dans votre répertoire personnel, par exemple /home/pufferfish , vous pouvez faire ce que vous voulez. /home/pufferfish/bin , /home/pufferfish/lib , et /home/pufferfish/src sont tous des choix conventionnels, mais rien de tout cela ne compte vraiment.

Pour les programmes compilés, quel que soit le répertoire / répertoire que vous utilisez, assurez-vous qu'ils sont / sont sur le PATH afin que vous puissiez les exécuter sans taper le script ou le chemin d'accès complet de l'exécutable.

Les distributions ne diffèrent pas vraiment beaucoup. J'ai constaté que le gestionnaire de paquets sur un pourrait installer des fichiers binaires dans /usr/bin , alors que certaines bibliothèques peuvent aller ailleurs, et un autre système pourrait installer des choses dans un autre endroit. Je dois généralement faire des recherches pour trouver où les choses se passent chaque fois.

Il se trouve qu'il existe une norme dans le monde OS d'Unix comme le Système hiérarchique des systèmes de fichiers qui explique les meilleures pratiques que la plupart des fournisseurs Unix suivent. C'est une bonne lecture et vaut la peine de passer si vous passez beaucoup de temps dans les environnements * nix.

Norme hiérarchique du système de fichiers

Réponses à vos questions:

Les deux / usr / src et / usr / local / src work. Votre choix. Il suffit de garder cohérent.

/ Bin est pour les commandes requises pour les utilisateurs. Je ne placerais pas de fichiers binaires personnalisés là-bas.

/ Sbin est pour les binaires système (généralement des éléments sysadmin). Il contient des éléments pour le démarrage et fs utils.

/ Usr / bin est l'endroit où la plupart des commandes d'utilisateurs sont en direct et vous constaterez habituellement que la plupart des systèmes de gestion de paquets Linux place des binaires ou au moins des liens symboliques vers des binaires ici.

/ Usr / local / bin est un endroit sûr pour mettre votre propre code compilé unique à cette machine.

Peut-être que vous devriez jeter un oeil à ceux-ci:

Texte alt

Texte alt

/ Usr / local / est pour le logiciel qui a été compilé sur ce système. C'est similaire à / usr /, juste qu'il n'a pas été installé à partir de paquets.

/ Sbin / vs / bin / (et / usr / sbin / vs / usr / bin): s signifie superutilisateur. Les programmes auxquels les utilisateurs normaux ne devraient pas se préoccuper et ne devraient souvent pas avoir la permission d'exécuter