En quoi le système de fichiers / l'organisation Linux diffère-t-il de Windows?

9

L'une des choses qui me ralentit vraiment dans ma prise de contact avec Linux est l'énorme différence entre le système de fichiers sous Linux et Windows. Jusqu'aux 3-4 dernières années, je n'utilisais que des systèmes Windows et ce n'est que depuis 2-3 mois que j'ai vraiment travaillé à m'habituer à Linux. Je pense que l'une des choses qui me dérange vraiment à ce stade est que je sentais que je pouvais trouver à peu près tout ce que je voulais quand j'ai commencé à fouiller dans les différents dossiers de Windows. Je m'étais habitué au genre de choses placées où et quand. Je n'ai pas ça avec Linux. J'apprends quelques choses comme le dossier / opt où la plupart des programmes tiers sont installés ... mais ma compréhension est limitée.

Kenneth
la source
2
Vous pouvez être intéressé par pathname.com/fhs/pub/fhs-2.3.html
ninjalj
C'est parfait!
Kenneth

Réponses:

15

Jetez un œil à la norme FHS ( Filesystem Hierarchy Standard ), qui est une norme d'organisation de la structure des répertoires . Je soupçonne fortement que la plupart (tous?) Des systèmes basés sur Linux le suivent plus ou moins.

tshepang
la source
Votez pour lier une documentation utile, c'est plus utile qu'une longue réponse. Le seul problème est que tous les outils / commandes / programmes ne les suivent pas = /
D4RIO
11

Dans certaines distributions * nix (testées sur OpenBSD et Ubuntu), la page de manuel de la hiérarchie du système de fichiers peut être utile.

$ man hier

Bien sûr, cela variera en fonction de la plate-forme et de la mise à jour des pages de manuel. La page de manuel (sur Ubuntu) fait également référence à la norme de hiérarchie du système de fichiers indiquée précédemment.

Je n'ai pas trouvé d'entrée manuelle similaire sur Solaris.

En général, différentes distributions Linux sont libres de placer les choses où elles le souhaitent, ce qui peut rapidement prêter à confusion. La plupart des exécutables que le système installe (dans le cadre du système de base ou via un gestionnaire de packages) se retrouveront quelque part dans votre chemin par défaut (généralement dans / usr / bin / usr / sbin / usr / local / bin / usr / local / sbin) bien que certaines distributions utilisent / opt, / usr / share / bin, entre autres. Un parallèle pourrait être établi dans le dossier "Program Files" dans Windows. Le dossier "Windows" pourrait être un peu comme / usr / lib / usr / include / usr / share et autres. Votre dossier "Mes documents" est quelque peu parallèle à votre répertoire personnel sur Linux (/ home / user) avec l'ajout agréable que la plupart des configurations spécifiques à l'utilisateur pour des programmes comme Firefox, Thunderbird, etc. vivent ici, ce qui rend le passage à un nouveau système assez indolore.

Le problème avec ces parallèles est qu'ils ne sont pas exactement précis. Windows et linux sont différents à cet égard.

La meilleure façon de continuer est de continuer à fouiner avec le système, comme vous l'avez probablement fait lorsque vous avez commencé à utiliser Windows, à casser des choses, à les réparer, à poser des questions en cours de route.

gabe.
la source
5

Dans Windows, lorsque vous installez un programme, il crée un dossier dans Program Files qui contient tout. Il contient les binaires, les bibliothèques, les fichiers de ressources, etc. Sous Linux, les binaires entrent généralement /usr/bin, les bibliothèques entrent /usr/libet les ressources entrent /usr/share. Plus précisément, comme un fichier d'icône, cela irait /usr/share/icons. Les polices peuvent être trouvées dans /usr/share/fonts. Les en-têtes de développement entrent /usr/include, et enfin, les fichiers de configuration entrent /etc.

Cette disposition présente quelques avantages intéressants. En mettant des bibliothèques dans /usr/lib, il est beaucoup plus facile de partager des bibliothèques entre des applications. Sous Windows, il est typique de voir chaque programme installer son propre ensemble de bibliothèques dans Program Files, et une autre application peut installer la même bibliothèque exacte, vous avez donc maintenant deux copies exactes d'un fichier .dll. Il ajoute également une certaine cohérence à la disposition du système de fichiers. Sous Windows, vous savez que le programme aura un dossier dans Program Files, mais il n'y a aucune garantie sur la façon dont il est disposé dans ce dossier. Peut-être que les exécutables seront dans un bin/dossier, peut-être pas. Peut-être qu'il aura un conf/dossier, peut-être pas.

jonescb
la source
1
Vous devriez considérer qu'il existe plusieurs répertoires de binaires en fonction de son objectif. Vous avez /bin(usage général, binaires système), /usr/bin(programmes utilisateur, parfois liés depuis /opt), /sbin(binaires superutilisateur, outils administratifs, ce répertoire n'est pas dans le chemin des utilisateurs), etc ...
D4RIO
Un gros inconvénient de la disposition où des parties de l'application sont écrites partout est lorsque vous avez écrit des fichiers communs, puis que vous souhaitez désinstaller l'une des applications. Vous vous retrouvez ensuite dans l'enfer DLL dont Windows a réussi à s'éloigner.
Καrτhικ