Venant du monde Windows, j'ai trouvé la majorité des noms de répertoires de dossiers assez intuitifs:
\Program Files
contient des fichiers utilisés par les programmes (surprise!)\Program Files (x86)
contient des fichiers utilisés par des programmes 32 bits sur des 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 d'après leurs noms.
Maintenant, je jette un œil sur Linux et je suis assez confus sur la façon de trouver mon chemin dans le système de fichiers.
Par exemple:
/bin
contient des binaires. Mais pour le faire/sbin
,/usr/bin
,/usr/sbin
et probablement plus que je ne sais pas. Lequel est lequel?? Quelle est la différence entre eux? Si je veux créer un fichier binaire et le mettre à l’échelle du système, où dois-je le mettre?/media
contient des systèmes de fichiers multimédias externes. Mais il en va de même/mnt
. Et aucun d'eux ne contient quoi que ce soit sur mon système pour le moment; tout semble être/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 utilisateur et les paramètres. C'est beaucoup intuitif, mais alors, qu'est-ce qui est censé entrer/usr
? Et comment se/root
fait-il qu'il soit 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 il en va de même/usr/lib
. Quelle est la différence?Qu'est - ce que c'est
/etc
? Cela signifie-t-il vraiment «et cetera», ou autre chose? Quels types de fichiers doivent y entrer - 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?Quels 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 serait bon de connaître, n'hésitez pas à l'ajouter à la question; j'espère que cela peut être une bonne référence pour des 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. Je ne sais toujours pas ce que cela fait sur Linux, cependant.
C:\Program Files
, C:\ProgramData
, %HOME%\AppData\Local
, %HOME%\AppData\LocalLow
, C:\Windows\SystemApps
... Tous les exemples où l' on peut trouver executables dans Windows. Et je ne parlerai même pas des fichiers de configuration et du registre, je ne veux pas être encore plus déprimé. PS: je travaille principalement sous Windows.