Comment comprendre la disposition du système de fichiers Ubuntu?

202

Dans Windows, il n’ya peut-être que quelques dossiers importants (d’important dans la partie logique de mon système de fichiers Windows) dans le lecteur d’installation (dans mon cas, C:\ ). À savoir Program Files et Windows . Je reste simplement à l'écart du dossier Windows et le "add remove program files" est suffisant pour gérer le dossier program files de Windows. Bien sûr, il existe un dossier nommé Users où les utilisateurs (qui ne sont pas administrateurs) peuvent accéder uniquement à leurs dossiers.

Il y a donc une image claire à un certain niveau du système de fichiers Windows. Dans Ubuntu, quand j'atteins l'emplacement / , il y a une liste énorme de dossiers, dont la plupart je n'ai aucune idée de ce qu'ils contiennent. Le dossier /bin semble être l'équivalent du dossier Windows dans Windows. Le dossier /usr semble être l'équivalent du dossier Users dans Windows. Mais même le dossier /home semble pouvoir s'adapter à la facture.

Veuillez comprendre que je comprends que Ubuntu (Linux) a un caractère différent de celui de Windows, c’est-à-dire qu’il n’ya pas forcément d’équivalent des fonctions Windows dans Ubuntu. Tout ce que je recherche, c'est une image un peu plus claire du système de fichiers Ubuntu.

Cette question fait partie d'une question plus vaste que je divise pour la rendre plus responsable. La question originale peut être trouvée ici:
lien

    
posée Shashank Sawant 17.05.2012 - 20:12
la source

6 réponses

239

Vous pouvez en savoir plus sur wikipedia, par exemple. Un extrait:

  

La norme de hiérarchie du système de fichiers (FHS) définit les principaux répertoires et leur contenu dans les systèmes d’exploitation Linux. Pour la plupart, il s’agit d’une formalisation et d’une extension de la hiérarchie traditionnelle des systèmes de fichiers BSD.

     

Le FHS est géré par la Linux Foundation, une organisation à but non lucratif composée d’importants fournisseurs de logiciels et de matériel informatique, tels que HP, Red Hat, IBM et Dell.   La version actuelle est la version 3.0, publiée le 3 juin 2015.

Une représentation visuelle avec une courte description:

Fondamentalement, Linux a divisé la structure des répertoires en fonction de la fonction nécessaire pour rendre le système aussi sécurisé que possible avec le minimum d’autorisations nécessaires. Sinon, quelqu'un est obligé de faire beaucoup de travail évitable.

N'oubliez pas qu'Unix et Linux ont été créés en tant que systèmes multi-utilisateurs et que Windows a été créé pour un seul utilisateur. Tout le reste peut être expliqué par cette idée. Vous pouvez expliquer chaque répertoire en pensant qu'il s'agit de multi-utilisateurs et de sécurité.

3 exemples:

  • Vous verrez que les fichiers et répertoires uniquement admin sont regroupés dans le même répertoire: le s dans /sbin et /usr/sbin et /usr/local/sbin représentent le système. Un utilisateur normal ne peut même pas démarrer des programmes qui s'y trouvent. Les fichiers qu'un utilisateur normal peut démarrer sont dans / bin, / usr / bin, / usr / local / bin en fonction de l'emplacement le plus logique. Mais si elles sont admin uniquement, elles doivent aller à la version s de ce répertoire. Il y a un utilitaire célèbre appelé fuser . Vous pouvez tuer des processus avec elle. Si un utilisateur normal pouvait utiliser ceci, il pourrait tuer votre session.

  • La même chose vaut pour /home : / home / user1 est la propriété de user1. / home / user2 est la propriété de user2. user2 n'a rien à faire dans la maison de user1 (et le contraire est également vrai: user1 n'a aucune activité dans le domaine de l'utilisateur2). Si tous les fichiers se trouvaient dans / home sans nom d'utilisateur, vous devriez donner des permissions à chaque fichier et évaluer si quelqu'un est autorisé à écrire / supprimer ces fichiers. Un cauchemar si vous avez des dizaines d'utilisateurs.

  • Ajout concernant les bibliothèques.

    /lib/ , /usr/lib/ et /usr/local/lib/ sont les emplacements d'origine, avant multilib des systèmes existaient et existaient pour éviter de casser des choses. /usr/lib32 , /usr/lib/64 , /usr/local/lib32/ , /usr/local/lib64/ sont des inventions multilib à 32/64 bits.

Ce n’est en aucun cas un concept statique. D'autres versions de Linux ont apporté des modifications à cette présentation. Par exemple; actuellement, vous verrez que debian et Ubuntu changent beaucoup dans la présentation du FHS depuis SSD est préférable avec des fichiers en lecture seule. Il y a un mouvement vers une nouvelle mise en page où les fichiers sont divisés en un répertoire / groupe en lecture seule et en écriture; nous pouvons donc avoir une partition racine qui peut être montée en lecture seule (partition pour un SSD) et accessible en écriture (sata hdd). Le nouveau répertoire utilisé pour cela (pas dans l'image) est /run/ .

    
réponse donnée Rinzwind 17.05.2012 - 20:18
la source
95

Essayez cette commande ...

man 7 hier

J'espère que ça aide

    
réponse donnée Pritesh Wadhia 17.05.2012 - 21:58
la source
37

Réponse tardive - J'ai créé une feuille de route à suivre pour les débutants. S'ils recherchent un fichier mais ne savent pas où chercher, ils peuvent utiliser la carte pour naviguer approximativement. Vous pouvez télécharger un fichier PNG en haute résolution ici . Vous pouvez trouver l'article correspondant ici . Je continuerai à mettre à jour le fichier et le message lorsque le temps le permettra, en y ajoutant des commentaires utiles.

    
réponse donnée d4nyll 20.11.2014 - 19:18
la source
36

Ce texte suivant montre la structure des répertoires.

[email protected]:/$ pwd
/
[email protected]:/$ tree -L 1
.
|-- bin
|-- boot
|-- cdrom
|-- dev
|-- etc
|-- home
|-- lib
|-- lost+found
|-- media
|-- mnt
|-- opt
|-- proc
|-- root
|-- run
|-- sbin
|-- selinux
|-- srv
|-- sys
|-- tmp
|-- usr
|-- var

Les composants principaux ici sont:

  1. /boot : contient le chargeur de démarrage

  2. /home : contient les répertoires personnels des utilisateurs.

  3. /bin : Tous les fichiers binaires et commandes exécutables utilisés par tous les utilisateurs du système se trouvent ici.

  4. /sbin : contient les fichiers binaires exécutables par le système généralement utilisés par les administrateurs système.

  5. /lib : contient les bibliothèques système qui prennent en charge les fichiers binaires dans / bin et / sbin.

  6. /etc : contient les fichiers de configuration du réseau, de l’amorçage, etc.

  7. /dev : Les fichiers de périphérique, à savoir usb, terminal ou tout autre périphérique connecté au système, sont affichés ici.

  8. /proc : Contient des informations sur le processus en cours d'exécution.

  9. /tmp : il s'agit du répertoire temporaire où de nombreux processus créent les fichiers temporaires requis. Ceci est purgé à chaque démarrage de la machine.

Pour plus de détails, le lien Thegeekstuff explique parfaitement le système de fichiers linux générique .

    
réponse donnée mtk 17.05.2012 - 20:38
la source
19

\Users est équivalent à /home . Le nom de /usr est un artefact historique.

L'équivalent combiné de \Windows et de \Program Files est la combinaison de /bin , /boot , /etc , /lib , /sbin , /tmp , /usr et /var . Linux et Windows divisent différemment les logiciels installés. Windows fait la distinction entre le système d'exploitation et les programmes associés. Linux ne fait pas cette distinction de la même manière; La plupart des logiciels, sinon tous, passent par Ubuntu (le distributeur) et sont installés dans la même hiérarchie de répertoires. Etant donné que le logiciel est suivi par le gestionnaire de paquets, il n'est pas nécessaire de stocker chaque programme dans son propre répertoire. Sous Linux:

  • /etc correspond aux fichiers de configuration du système: fichiers de configuration qui affectent tous les utilisateurs, qu'ils s'appliquent au système d'exploitation dans son ensemble ou à une application spécifique.
  • /usr correspond au code système et aux données (programmes, bibliothèques, documentation, etc.).
  • /var est pour les données variables ou temporaires: fichiers temporaires, journaux, bases de données du gestionnaire de paquets, spools d'imprimante, fichiers de sauvegarde de jeu, etc. Il existe également /tmp pour les fichiers temporaires pouvant être effacés lors des redémarrages.
  • /bin , /lib et /sbin dans le répertoire racine ont leurs homologues dans /usr . Les fichiers situés en dehors de /usr sont ceux qui sont nécessaires au début du processus de démarrage. Ceci est une relique du moment où les disques étaient petits et que /usr pouvait être sur un système de fichiers partagé entre plusieurs stations de travail sur le réseau, ce n'est pas vraiment une distinction utile sur la plupart des systèmes.
  • /boot contient quelques fichiers nécessaires uniquement au démarrage du système d'exploitation, et non au fonctionnement quotidien.

Il existe des répertoires supplémentaires qui ne correspondent à rien que Windows possède:

  • /root est le répertoire de base de l'utilisateur root. L'utilisateur root est un compte administrateur non lié à un utilisateur particulier. c'est l'utilisateur que vous modifiez lorsque vous exécutez sudo . Ubuntu ne permet pas à l'utilisateur root de se connecter par défaut.
  • /media et /mnt sont des points de montage: ils permettent de voir les systèmes de fichiers des autres systèmes d'exploitation et des lecteurs distants. L'équivalent Windows est d'autres lettres de lecteur.
  • /proc et /sys affichent des informations sur le système. Sous Windows, vous devez parcourir les menus ou appeler les commandes du système ou installer des programmes tiers pour voir ces informations.

Ubuntu, comme d’autres distributions Linux, suit généralement la norme relative à la hiérarchie du système de fichiers .

    
réponse donnée Gilles 17.05.2012 - 20:48
la source
5

Ubuntu (comme tous les systèmes de type UNIX) organise les fichiers dans une arborescence hiérarchique, où les relations sont pensées en équipes d’enfants et de parents. Les répertoires peuvent contenir d'autres répertoires ainsi que des fichiers réguliers, qui sont les "feuilles" de l'arborescence. Tout élément de l'arbre peut être une référence par un nom de chemin; un nom de chemin absolu commence par le caractère / (identifiant le répertoire racine, qui contient tous les autres répertoires et fichiers), puis chaque répertoire enfant devant être traversé pour atteindre l'élément est répertorié, chacun séparé par un signe /.

Un nom de chemin relatif est un nom qui ne commence pas par /; dans ce cas, l'arborescence est parcourue à partir d'un point donné, qui change en fonction du contexte, appelé répertoire courant. Dans chaque répertoire, il existe deux répertoires spéciaux appelés. et .., qui font référence respectivement au répertoire lui-même et à son répertoire parent.

Le fait que tous les fichiers et répertoires aient une racine commune signifie que, même si plusieurs périphériques de stockage différents sont présents sur le système, ils sont tous considérés comme des répertoires quelque part dans l'arborescence p>

Trouvez des exemples et des informations supplémentaires ici :

    
réponse donnée stephenmyall 17.05.2012 - 20:18
la source

Lire d'autres questions sur les étiquettes