Je suis nouveau sur Linux alors pardonnez-moi pour la confusion possible que vous pourriez rencontrer dans cette question.
D'après ce que je comprends, le système de fichiers spécifie comment une partition stocke / gère le fichier, avec des normes telles que ext2, ext3, reiserfs, xfs, etc. Parfois, je vois que les gens semblent se référer à chaque " directory
" comme
/boot filesystem
/usr/bin filesystem
/root filesystem
/bin filesystem
Pourquoi les qualifierions-nous filesystems
?
Si chacun d'eux est une partition, cela me confond parce que, pour autant que je sache, /usr
et /usr/bin
ont tendance à être dans la même partition, mais j'ai vu que les gens se réfèrent à la fois à /usr filesystem
et /usr/bin filesystem
.
Si filesystem
ici est équivalent à Windows directory
, ce n'est pas clair pour moi car apparemment le système de fichiers est quelque chose de plus que de simples répertoires. Aussi, pour autant que je sache, Linux n'a pas de directory
concept; tous sont des fichiers.
/root
, je pense que c'est rejetable compte tenu de la complexité de la situation.Réponses:
Comme je l'ai écrit dans https://superuser.com/a/293160/38062 :
Le problème ici est le mot "système de fichiers". Dans les mondes POSIX / Unix / Linux, il est utilisé pour signifier plusieurs choses différentes.
/
et tel que présenté aux logiciels d'application par le noyau du système d'exploitation. Dans ce sens, les gens parlent par exemple de systèmes d'exploitation POSIX ayant une " arborescence de systèmes de fichiers unique "./usr
système de fichiers ". "/usr
" voici le point de montage (attendu) du volume, ou (dans certains schémas de partitionnement) son étiquette d'identification./proc
" ou "d'utiliser un système de fichiers tmpfs pour/tmp
".Vous voyez la signification n ° 1 lorsque vous voyez "
/usr/bin
système de fichiers". C'est une arborescence de système de fichiers enracinée dans le répertoire/usr/bin
. Oui, Linux très bien fait avoir le concept des répertoires.Le sens # 2 et le sens # 3 sont ce que vous interprétez mal. Les gens ne parlent pas
/usr/bin
d'un ensemble de données sur disque, délimité par le découpage / partitionnement du disque. Ils ne parlent pas non/usr/bin
plus d'un type particulier de pilote de système de fichiers ou d'un format de volume de disque particulier.Lectures complémentaires
la source
Bien sûr, Linux utilise le concept de répertoires. Le concept de répertoires est le même que sous Windows.
Le concept des systèmes de fichiers est également très similaire à ce qui est utilisé dans Windows. Windows utilise généralement NTFS ou FAT - Linux utilise généralement ext2, ext3, ext4 et ainsi de suite, c'est toute la différence.
Ce qui est différent, c'est que sous Linux, les fichiers / répertoires de toutes les parties disponibles sont organisés en une seule arborescence. Sous Windows, vous faites référence à différentes partitions à l'aide d'une lettre, par exemple "a:", "c:", sous Linux, le chemin d'accès complet à tout fichier disponible commence par "/" - le répertoire racine. Par exemple, il y a une partition séparée sur votre disque dur avec des fichiers récupérés pour démarrer le système: vous exécutez la commande 'mount' avec les arguments appropriés et le contenu de cette partition devient disponible sur le chemin "/ boot /". Ainsi, les chemins fe "/ boot" et "/ home" peuvent faire référence à des données sur différentes partitions, ces partitions peuvent avoir des systèmes de fichiers différents. Probablement causé votre malentendu.
Les répertoires qui sont physiquement situés sur la même partition auraient toujours "le même système de fichiers". Quand quelqu'un parle du système de fichiers d'un répertoire, il s'agit en fait du système de fichiers de la partition où se trouve ce répertoire.
(Correction mineure et probablement pas importante: parfois le système de fichiers est virtuel et il n'y a pas de partition correspondante. Par exemple "/ proc" contient quelque chose, qui ressemble beaucoup à des fichiers, mais ces "fichiers" sont virtuels, ils ne résident pas sur tout disque dur et contiennent des informations sur les processus en cours d'exécution. Et il existe un système de fichiers "procfs" spécial qui fournit une interface de type fichier habituelle pour ces données)
la source
Un disque est divisé en une ou plusieurs partitions . Pour Windows, il n'y en a généralement qu'un, peut-être avec une partition de récupération cachée quelque part. Une partition est une zone logiquement contiguë du disque, par exemple "secteurs 1 à 10 000 000".
Sur une partition peut être construit un système de fichiers. Pour Windows, c'est NTFS ou FAT; pour Linux, c'est l'une des
ext
versions ou diverses autres options.À l'intérieur d'un système de fichiers se trouvent des fichiers et des répertoires. Linux a des répertoires, je ne sais pas comment vous avez eu l'idée que ce n'était pas le cas.
Comment un système d'exploitation présente-t-il plusieurs partitions sur plusieurs disques à l'utilisateur? Sous Windows, cela se fait avec des lettres de lecteur :
C:
,D:
etc. Sur Linux, il n'y a pas des lettres de lecteur et tout se fait avec les points de montage : à un répertoire particulier, l' accès reroutage à un autre système de fichiers (+) Souvent , si vous insérez un CD. ou une clé USB, il apparaîtra quelque part sous/media
ou/mnt
./usr
et/usr/bin
seront généralement sur le même système de fichiers mais ne sont pas tenus de l'être. Les gens peuvent vouloir dire «le système de fichiers qui contient le/usr/bin
répertoire» lorsqu'ils utilisent ce phrasé.(+) Vous pouvez aussi le faire avec des points de jonction NTFS, mais les gens le font rarement. Jusqu'à ce qu'ils soient à court de lettres de lecteur.
la source
Il est possible de garder un système Linux entier sur une partition, tous les sous-répertoires étant sur un système de fichiers.
Il est également possible de le répartir sur plusieurs partitions, certains sous-répertoires étant sur différents systèmes de fichiers. Par exemple, il est fréquent de mettre
/home
,/tmp
,/usr
et/var
sur les systèmes de fichiers séparés. Pour répondre à l'une de vos questions, il se/usr/bin
trouvera parfois également sur son propre système de fichiers.Ce schéma présente des avantages. Par exemple, s'il se
/var
remplit de nombreux e-mails, le reste du système n'est pas affecté. De même, si un système de fichiers est corrompu en raison d'un crash ou de quelque chose, d'autres systèmes de fichiers sont toujours bons et il est plus facile de récupérer le système.Lorsque le système démarre, au début, seul le système de fichiers racine est disponible. Les programmes qui y sont conservés sont exécutés pendant le processus de démarrage. L'un de ces programmes
mount
,, est exécuté plusieurs fois, en utilisant les données du fichier/etc/fstab
, la table du système de fichiers. Pour prendre un exemple: à l'origine,/home
c'est juste un répertoire ordinaire dans le système de fichiers racine. Ensuite, nous exécutons cette commande en tant que root:Cela indique au système que le système de fichiers sur la partition
/dev/sda7
doit être monté sur le répertoire/home
. Alors maintenant, tout dans ce système de fichiers est considéré comme étant sous/home
.Vous pouvez voir ce qui est actuellement monté en exécutant
df
.la source
Nous les appelons parfois
filesystems
, car parfois ces répertoires sont des points de montage. Voilà pour la seule question que vous avez posée ...filesystem
peut se référer à deux choses différentes ... ou en fait deux aspects très différents de la même chose:Le concept de fichiers et de répertoires est une métaphore. Pour un ordinateur, il n'y a que des données et tous les médias ne sont que des appareils qui peuvent contenir des données. Certains appareils autorisent la lecture et l'écriture de données (par ex. Disque dur), d'autres appareils autorisent uniquement la lecture de données (par ex. CD-ROM) et il existe même des appareils qui autorisent uniquement l'écriture de données (par ex. Imprimante). Nous utilisons la métaphore du fichier et du répertoire pour structurer les données, afin que nous puissions accéder à de petits morceaux de données, plutôt qu'à tout en même temps.
Les systèmes de fichiers que nous mettons sur les supports de stockage, par exemple ext4, xfs, fat, font la partie structurante. Nous les utilisons pour mettre des étiquettes sur des morceaux de données (fichiers) et pour avoir une liste structurée cohérente de toutes les étiquettes (répertoires). La liste structurée est en fait un arbre. L'aspect le plus important est qu'un arbre a exactement un début, sa racine. Maintenir cette structure et garantir que les données sont et restent accessibles est tout à fait la tâche, c'est pourquoi il n'y a pas qu'une seule saveur de système de fichiers.
L'autre aspect des systèmes de fichiers est qu'il appartient au système d'exploitation de rendre les données stockées sur les périphériques de stockage accessibles à tous les programmes. Ceci est accompli par deux choses:
L'OS offre précisément une interface (de programmation) pour accéder aux fichiers et répertoires et interagir avec eux. Pour les programmes / processus, peu importe que le système de fichiers sur le périphérique de stockage soit ext2, xfs, fat ou autre. Les programmes / processus accèdent aux fichiers et aux répertoires de manière uniforme.
L'OS organise tous les supports de stockage, c'est-à-dire leurs systèmes de fichiers, dans une structure superordonnée. Les programmes accèdent aux fichiers et aux répertoires via cette structure supérieure et n'ont pas besoin d'interagir directement avec les périphériques de stockage. De cette façon, les programmes n'ont pas à se soucier de l'appareil sur lequel les données résident réellement. Cette structure superordonnée est souvent appelée «système de fichiers virtuel» du noyau.
L'ajout du système de fichiers d'un périphérique de stockage au système de fichiers virtuel s'appelle "monter" un système de fichiers. Lorsque votre Linux démarre, le noyau crée le système de fichiers virtuel (VFS). Juste après sa création, il est vide et ne se compose que de son point d'entrée, alias sa racine, transcrit
/
. Ensuite, le noyau monte un système de fichiers à la racine du VFS. Il s'agit soit d'un disque virtuel, soit immédiatement d'un système de fichiers sur une partition sur un disque dur. Comme elle est ajoutée à la racine du VFS, cette partition est souvent appelée système de fichiers racine.Maintenant, voici la partie où les lignes sont floues et nous voyons que les systèmes de fichiers sur les périphériques de stockage et le VFS du noyau sont en fait deux aspects de la même tâche du système d'exploitation: avec le montage d'un système de fichiers racine, le VFS contient de nombreux fichiers et répertoires, qui tous existent sur la partition racine. Cependant, chaque répertoire peut devenir un "point de montage". Un point de montage est l'endroit où le VFS place le point d'entrée vers un système de fichiers sur un périphérique de stockage. Cela signifie que chaque fois que nous montons un système de fichiers sur un répertoire, nous informons le VFS qu'au lieu d'accéder aux données stockées dans ce répertoire, nous préférons accéder aux données sur un périphérique de stockage différent. Les points de montage sont généralement des répertoires vides, de sorte que nous ne rendons pas les données inaccessibles en montant d'autres systèmes de fichiers sur le dessus.
Lorsque vous installez votre système d'exploitation, c'est à vous de décider si vous souhaitez placer toutes les données sur un système de fichiers qui devient alors votre système de fichiers racine, ou si vous souhaitez diviser vos données entre plusieurs systèmes de fichiers. Ce dernier nécessite que votre système d'exploitation monte tous les systèmes de fichiers individuels, pour rendre toutes les données accessibles. La façon dont vous divisez les choses dépend de la façon dont vous concevez votre système. C'est pourquoi parfois les répertoires que vous connaissez de votre installation sont appelés systèmes de fichiers.
Pour les ordinateurs que nous avons habituellement à la maison, il n'est plus nécessaire de diviser votre installation en plusieurs systèmes de fichiers. Il peut toujours y avoir de bonnes raisons de le faire, mais cela est hors de portée de cette publication.
Pour garder le reste de cette publication courte: Les partitions sont un autre moyen de structurer les données sur les périphériques de stockage. Avec les partitions, on découpe l'espace de stockage contigu d'un périphérique de stockage physique et les offre en tant que périphériques de stockage individuels au système d'exploitation (sur lequel on peut placer des systèmes de fichiers à monter dans le VFS). Cela peut être dû au fait que l'on n'a qu'un seul disque dur, mais que l'on souhaite utiliser de nombreux systèmes de fichiers différents. La partition sur laquelle réside le système de fichiers racine est souvent appelée partition racine.
la source
Vous faites un peu de confusion.
Filesystem
indique un mécanisme par lequel les fichiers sont localisés et organisés sur un périphérique de stockage ou sur une mémoire de masse, comme un disque dur ou un CD-ROM et, dans certains cas, également sur la RAM.Même les fenêtres des utilisations telles que les systèmes de fichiers
NTFS
ou, plus tôt,FAT
.Votre exemple montre une pratique courante pour les systèmes Linux et Unix, pour avoir leur propre système composé de différents systèmes de fichiers montés sur des répertoires nommés point de montage. Cela permet, en cas de problème, de limiter les dégâts à un ou plusieurs mais pas à tous les systèmes de fichiers.
Donc, FS n'est pas équivalent au répertoire, et aussi sous linux il y a des répertoires, qui sont un type spécial de fichier
la source