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


Dans Windows, il n’ya peut-être que quelques dossiers importants (d’important que je veux dire importants dans mon image logique du système de fichiers Windows) dans le lecteur d’installation (dans mon cas, C:\). À savoir Program Files et Windows. Je reste simplement loin de Windows le dossier et le "ajouter supprimer des fichiers de programme" est assez bon pour gérer le program files dossier de Windows. Bien sûr, il y a 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'endroit /, il existe une liste énorme de dossiers, dont la plupart n’ont aucune idée de ce qu’ils contiennent. le /bin le dossier semble être l'équivalent de la Windows dossier dans Windows. le /usr dossier semble être l’équivalent de la Users dossier dans Windows. Mais même le /home le dossier ressemble à celui qui convient à la facture.

S'il vous plaît comprendre que je comprends, que Ubuntu (Linux) a un caractère différent de celui de Windows, c'est-à-dire, il n'est pas nécessaire d'avoir exactement l'é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:
http://sgsawant.wordpress.com/2012/05/17/whats-the-equivalent-of-add-or-remove-programs-in-ubuntu/ 


202
2018-05-17 18:12


origine


Voir aussi le structure de répertoire tag sur Unix et Linux. Toutes les distributions Linux suivent le même modèle. - Gilles
Merci pour toutes vos réponses. Je suis un peu perplexe à propos de quelques points: sous Windows, l’installation offre généralement une option permettant d’installer un logiciel pour tous les utilisateurs. Comment faire cette distinction dans Ubuntu? En outre, il s’agit d’un problème habituel lors de la configuration de logiciels de développement sur leurs IDE. Dans Windows, par exemple, dans "Program Files \ miktex \ bin", il y a le fichier "pdflatex.exe". Ainsi, je peux pointer l’IDE ​​vers ce fichier et le configurer. Comment s'y prendre avec Ubuntu? Où est le fichier binaire général associé à un logiciel (en particulier du point de vue de la configuration)? - Shashank Sawant
Dans Ubuntu, vous installez normalement des logiciels pour tous les utilisateurs. Tout ce que vous faites via le gestionnaire de paquets est pour tous les utilisateurs. Je ne comprends pas le reste de votre commentaire; on ne «configure» pas le «fichier binaire associé à un logiciel». Vous devriez poser cette question séparément et donner une meilleure explication de ce que vous essayez de faire. - Gilles
Je l'ai. Je vais encadrer une nouvelle question. Même alors, voici une brève explication de ce que je voulais dire: Dans Windows, les fichiers .exe peuvent être facilement localisés. Par exemple: "C: \ Python27 \ python.exe". Donc, je sais d'où le programme Python commence. Maintenant, si je dois utiliser l'IDE Eclipse, je peux simplement le pointer vers python.exe, et c'est ce que je voulais dire par "configurer". J'ai configuré l'EDI pour Python. Dans Ubuntu, où est l'emplacement du programme? C'est ce qui m'évite encore. - Shashank Sawant
@Gilles Soyez prudent lorsque vous dites all. le Projet GoboLinux utilise en fait une structure de répertoires plus Windows comme. - new123456


Réponses:


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

le 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 de système de fichiers BSD traditionnelle.

Le FHS est géré par la Linux Foundation, une organisation à but non lucratif composée de grands 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:

enter image description here

Fondamentalement, Linux a divisé la structure des répertoires en fonction de ce qui est nécessaire pour rendre le système aussi sécurisé que possible avec le minimum de permissions 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 in /sbin et /usr/sbin et /usr/local/sbin signifie 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 seulement elles devraient aller au sversion 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.

  • C'est la même chose 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 l'utilisateur (et le contraire est également vrai: user1 n'a rien à faire dans la maison de l'utilisateur). 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.

  • Une addition en ce qui concerne les bibliothèques.

    /lib/, /usr/lib/, et /usr/local/lib/ sont les emplacements d'origine, d'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 pas un concept statique par tous les moyens. D'autres versions de Linux ont apporté des modifications à cette présentation. Par exemple; actuellement vous verrez Debian et Ubuntu changer beaucoup dans la mise en page du FHS puisque SSD est mieux avec les 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/.


240
2018-05-17 18:18



+1 Rinzwind. J'aime l'image, en cherchait réellement un. - Luis Alvarado♦
J'ai pensé que cela attirerait l'attention: + @LuisAlvarado - Rinzwind
Il ne peut y avoir de meilleure réponse! - Shashank Sawant
N'était pas /mnt quelle /media est maintenant, il y a quelques années? - RobinJ
@RobinJ: La différence est que /mnt a été historiquement géré manuellement. Avec la montée en puissance de nombreux appareils transitoires (lecteurs flash, etc.) et le montage automatique devenant standard, il était nécessaire de gérer automatiquement les points de montage. Un nouveau répertoire était nécessaire pour éviter les conflits avec la configuration manuelle existante. Ainsi, ces jours-ci /mnt a été relégué au rôle de fournir un point de montage temporaire pratique. - Scott Severance


Essayez cette commande ...

man 7 hier

J'espère que cela aide


95
2018-05-17 19:58



bon appel! J'oublie toujours celui-là même s'il est toujours présent (même lorsque le réseau est en panne;)) - Rinzwind
l'homme devrait être renommé en "ça". :))) - Shiki
man hier est maintenant parmi mes commandes préférées! Les explications sont plus claires pour moi que le doco FHS, en particulier en distinguant «local à la machine» et «à l'échelle du site», pour un utilisateur Ubuntu inexpérimenté, passant de l'expérience DOS / Windows modérée. - WillC
BTW le numéro 7 stands de la section Divers de la page de manuel hier. - Pablo Bianchi


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 grossièrement. Vous pouvez télécharger un fichier PNG haute résolution ici. Vous pouvez trouver le post correspondant ici. Je continuerai à mettre à jour le fichier et le courrier lorsque le temps le permettra, en y ajoutant des commentaires utiles.


37
2017-11-20 18:18



Idée intéressante et utile pour produire un organigramme, mais malheureusement, il semble y avoir des impasses. Ma question est si je fais un mysqldump où dois-je sortir le fichier? - BadHorsie
@BadHorsie, bien sûr, cela dépendrait toujours de votre cas d'utilisation spécifique, mais en le jetant dans un /home/badhorsie/mysqldump répertoire suffirait. Si vous exécutez de nombreuses applications, vous pouvez créer un nouvel utilisateur pour exécuter chaque application et la vider dans cette application / cet utilisateur. home annuaire. - d4nyll
@ paranoid-panda, pourriez-vous nous expliquer un peu pourquoi vous avez choisi de ne pas autoriser le clic sur l'image en pleine résolution? La version intégrée dans cet article est pratiquement illisible. - waldyrious
@waldyrious: Si vous regardez la Historique des révisions vous verrez que j'ai seulement corrigé une faute d'orthographe, c'est un autre utilisateur qui a ajouté l'image de cette manière particulière. Rien à voir avec moi. N'hésitez pas à le modifier, je ne me souviens pas de la syntaxe correcte pour le rendre cliquable.
@ParanoidPanda c'est précisément ce que j'ai fait. Mon édition a rendu la correction de faute de frappe et a rendu l'image cliquable, et votre avis devait rejeter et modifier, d'où ma question: qu'avez-vous mal compris en rendant l'image cliquable? - waldyrious


Ce texte suivant montre la structure du répertoire.

mtk4@laptop:/$ pwd
/
mtk4@laptop:/$ 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 principaux composants ici sont:

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

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

  3. /bin : Tous les binaires exécutables et les commandes 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 pour le réseau, au démarrage, etc.

  7. /dev : Cela a les fichiers de périphérique, c'est-à-dire 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 : Ceci est le 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, Thegeekstuff link explique parfaitement le système de fichiers linux générique.


36
2018-05-17 18:38





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

L'équivalent combiné de \Windows et \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 concerne les fichiers de configuration système: fichiers de configuration qui concernent tous les utilisateurs, qu'ils s'appliquent au système d'exploitation dans son ensemble ou à une application spécifique.
  • /usr est pour le code système et les 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, bobines d’imprimante, fichiers de sauvegarde de jeu, etc. /tmp pour les fichiers temporaires pouvant être effacés lors des redémarrages.
  • /bin, /lib et /sbin dans le répertoire racine ont des homologues dans /usr. Les fichiers qui sont en dehors /usr sont ceux qui sont nécessaires au début du processus de démarrage. Ceci est une relique de l'époque où les disques étaient petits et /usr peut ê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 personnel de l'utilisateur root. L'utilisateur root est un compte administrateur non lié à un utilisateur particulier. c'est l'utilisateur que vous changez en cours d'exécution sudo. Ubuntu ne laisse pas l'utilisateur root se connecter par défaut.
  • /media et /mnt sont des points de montage: ils permettent de voir les systèmes de fichiers d’autres systèmes d’exploitation et de disques distants. L'équivalent Windows est d'autres lettres de lecteur.
  • /proc et /sys afficher les informations du 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 le système Linux. Norme de hiérarchie du système de fichiers.


19
2018-05-17 18:48





Ubuntu (comme tous les systèmes de type UNIX) organise les fichiers dans un arbre 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 chemin d'accès 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’arbre, une fois montés à l’endroit souhaité.

Trouvez des exemples et plus d'informations ici:


5
2018-05-17 18:18



Très bon lien. Merci Stephen. - Luis Alvarado♦