logo

Système de fichiers Linux

Un système de fichiers Linux est une collection structurée de fichiers sur un lecteur de disque ou une partition. Une partition est un segment de mémoire et contient des données spécifiques. Dans notre machine, il peut y avoir différentes partitions de la mémoire. Généralement, chaque partition contient un système de fichiers.

Le système informatique à usage général doit stocker systématiquement les données afin que nous puissions accéder facilement aux fichiers en moins de temps. Il stocke les données sur des disques durs (HDD) ou sur un type de stockage équivalent. Il peut y avoir les raisons ci-dessous pour maintenir le système de fichiers :

barre d'adresse chromée
  • Principalement, l'ordinateur enregistre les données sur le stockage RAM ; il risque de perdre les données s'il est éteint. Cependant, il existe une RAM non volatile (Flash RAM et SSD) disponible pour conserver les données après une coupure de courant.
  • Le stockage des données est préféré sur les disques durs par rapport à la RAM standard, car la RAM coûte plus cher que l'espace disque. Les coûts des disques durs baissent progressivement par rapport à ceux de la RAM.

Le Linux Le système de fichiers contient les sections suivantes :

  • Le répertoire racine (/)
  • Un format de stockage de données spécifique (EXT3, EXT4, BTRFS, XFS etc.)
  • Une partition ou un volume logique ayant un système de fichiers particulier.

Qu’est-ce que le système de fichiers Linux ?

Le système de fichiers Linux est généralement une couche intégrée d'un Système d'exploitation Linux utilisé pour gérer la gestion des données du stockage. Cela aide à organiser le fichier sur le stockage sur disque. Il gère le nom du fichier, la taille du fichier, la date de création et bien d'autres informations sur un fichier.

Si nous avons un format de fichier non pris en charge dans notre système de fichiers, nous pouvons télécharger un logiciel pour le gérer.

Structure du système de fichiers Linux

Le système de fichiers Linux a une structure de fichiers hiérarchique car il contient un répertoire racine et ses sous-répertoires. Tous les autres répertoires sont accessibles à partir du répertoire racine. Une partition n'a généralement qu'un seul système de fichiers, mais elle peut en avoir plusieurs.

Un système de fichiers est conçu de manière à pouvoir gérer et fournir de l'espace pour les données de stockage non volatiles. Tous les systèmes de fichiers nécessitaient un espace de noms qui est une méthodologie de dénomination et d'organisation. L'espace de noms définit le processus de dénomination, la longueur du nom de fichier ou un sous-ensemble de caractères pouvant être utilisé pour le nom de fichier. Il définit également la structure logique des fichiers sur un segment de mémoire, comme l'utilisation de répertoires pour organiser les fichiers spécifiques. Une fois qu'un espace de noms est décrit, une description des métadonnées doit être définie pour ce fichier particulier.

La structure des données doit prendre en charge une structure de répertoires hiérarchique ; cette structure est utilisée pour décrire l'espace disque disponible et utilisé pour un bloc particulier. Il contient également d'autres détails sur les fichiers tels que la taille du fichier, la date et l'heure de création, la mise à jour et la dernière modification.

En outre, il stocke des informations avancées sur la section du disque, telles que les partitions et les volumes.

Les données avancées et les structures qu'elles représentent contiennent les informations sur le système de fichiers stocké sur le lecteur ; il est distinct et indépendant des métadonnées du système de fichiers.

Le système de fichiers Linux contient une architecture d'implémentation logicielle du système de fichiers en deux parties. Considérez l'image ci-dessous :

Système de fichiers Linux

Le système de fichiers nécessite une API (interface de programmation d'application) pour accéder aux appels de fonction afin d'interagir avec les composants du système de fichiers tels que les fichiers et les répertoires. L'API facilite les tâches telles que la création, la suppression et la copie des fichiers. Il facilite un algorithme qui définit la disposition des fichiers sur un système de fichiers.

jframe

Les deux premières parties du système de fichiers donné sont appelées ensemble un Système de fichiers virtuel Linux . Il fournit un ensemble unique de commandes permettant au noyau et aux développeurs d'accéder au système de fichiers. Ce système de fichiers virtuel nécessite le pilote système spécifique pour fournir une interface au système de fichiers.

Structure du répertoire

Les répertoires nous aident à stocker les fichiers et à les localiser lorsque nous en avons besoin. En outre, les répertoires sont appelés dossiers car ils peuvent être considérés comme des dossiers dans lesquels résident les fichiers sous la forme d'une analogie physique avec un bureau. Les répertoires peuvent être organisés selon une hiérarchie arborescente sous Linux et plusieurs autres systèmes d'exploitation.

La structure des répertoires de Linux est bien documentée et définie dans le Linux FHS (Filesystem Hierarchy Standard). Le référencement de ces répertoires si l'on y accède s'effectue via les noms séquentiellement plus profonds du répertoire liés par la barre oblique '/' comme /var/spool/mail et /var/log. Ceux-ci sont connus sous le nom de chemins.

Le tableau ci-dessous donne une très courte liste de répertoires Linux de premier niveau standard, définis et bien connus et leurs objectifs :

    / (système de fichiers racine) :Il s'agit du répertoire de niveau supérieur du système de fichiers. Il doit inclure tous les fichiers nécessaires au démarrage du système Linux avant qu'un autre système de fichiers ne soit monté. Tous les autres systèmes de fichiers sont montés sur un point de montage standard et bien défini en raison des répertoires du système de fichiers racine après le démarrage du système./botte:Il comprend la configuration statique du noyau et du chargeur de démarrage ainsi que les fichiers exécutables nécessaires au démarrage d'un ordinateur Linux./poubelle:Ce répertoire comprend les fichiers exécutables utilisateur./dév :Il inclut le fichier de périphérique pour tous les périphériques matériels connectés au système. Ce ne sont pas des pilotes de périphériques ; il s'agit plutôt de fichiers qui indiquent tous les périphériques du système et donnent accès à ces périphériques./etc:Il inclut les fichiers de configuration du système local pour le système hôte./lib :Il comprend les fichiers de bibliothèque partagés nécessaires au démarrage du système./maison:Le stockage du répertoire personnel est disponible pour les fichiers utilisateur. Tous les utilisateurs ont un sous-répertoire dans /home./mois :Il s'agit d'un point de montage temporaire pour les systèmes de fichiers de base qui peut être utilisé lorsque l'administrateur travaille ou répare un système de fichiers./médias:Un endroit pour monter des périphériques multimédias amovibles externes tels que des clés USB qui pourraient être liés à l'hôte./opter:Il contient des fichiers facultatifs tels que des programmes d'application fournis par le fournisseur qui doivent être placés ici./racine:C'est le répertoire personnel d'un utilisateur root. Gardez à l’esprit qu’il ne s’agit pas du système de fichiers « / » (racine)./tmp :Il s'agit d'un répertoire temporaire utilisé par le système d'exploitation et plusieurs programmes pour stocker des fichiers temporaires. En outre, les utilisateurs peuvent stocker temporairement des fichiers ici. N'oubliez pas que des fichiers peuvent être supprimés sans préavis à tout moment dans ce répertoire./sbin :Ce sont des fichiers binaires système. Ce sont des exécutables utilisés pour l'administration du système./usr :Il s'agit de fichiers en lecture seule et partageables, comprenant des bibliothèques exécutables et des binaires, des fichiers man et plusieurs types de documentation./était:Ici, les fichiers de données variables sont enregistrés. Il peut contenir des éléments tels que MySQL, des fichiers journaux, d'autres fichiers de base de données, des boîtes de réception de courrier électronique, des fichiers de données de serveur Web et bien plus encore.

Fonctionnalités du système de fichiers Linux

Sous Linux, le système de fichiers crée une structure arborescente. Tous les fichiers sont disposés sous forme d'arbre et de ses branches. Le répertoire le plus élevé appelé le répertoire racine (/) . Tous les autres répertoires sous Linux sont accessibles à partir du répertoire racine.

Certaines fonctionnalités clés du système de fichiers Linux sont les suivantes :

chaîne c dans un tableau
    Spécification des chemins :Linux n'utilise pas la barre oblique inverse () pour séparer les composants ; il utilise la barre oblique (/) comme alternative. Par exemple, comme sous Windows, les données peuvent être stockées dans C: Mes documents Work, alors que sous Linux, elles seraient stockées dans /home/ My Document/ Work.Partition, répertoires et lecteurs :Linux n'utilise pas de lettres de lecteur pour organiser le lecteur comme le fait Windows. Sous Linux, nous ne pouvons pas savoir si nous adressons une partition, un périphérique réseau ou un répertoire « ordinaire » et un lecteur.Sensibilité à la casse :Le système de fichiers Linux est sensible à la casse. Il fait la distinction entre les noms de fichiers en minuscules et en majuscules. Par exemple, il existe une différence entre test.txt et Test.txt sous Linux. Cette règle s'applique également aux répertoires et aux commandes Linux.Extensions de fichiers :Sous Linux, un fichier peut avoir l'extension « .txt », mais il n'est pas nécessaire qu'un fichier ait une extension de fichier. Lorsque vous travaillez avec Shell, les débutants ont du mal à faire la différence entre les fichiers et les répertoires. Si nous utilisons le gestionnaire de fichiers graphique, il symbolise les fichiers et dossiers.Fichiers cachés:Linux fait la distinction entre les fichiers standard et les fichiers cachés. La plupart des fichiers de configuration sont cachés dans le système d'exploitation Linux. Habituellement, nous n'avons pas besoin d'accéder ou de lire les fichiers cachés. Les fichiers cachés sous Linux sont représentés par un point (.) avant le nom du fichier (par exemple, .ignore). Pour accéder aux fichiers, nous devons changer la vue dans le gestionnaire de fichiers ou utiliser une commande spécifique dans le shell.

Types de système de fichiers Linux

Lorsque nous installons le système d'exploitation Linux, Linux propose de nombreux systèmes de fichiers tels que Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs, et échanger .

Système de fichiers Linux

Comprenons chacun de ces systèmes de fichiers en détail :

1. Système de fichiers Ext, Ext2, Ext3 et Ext4

Le système de fichiers Ext signifie Système de fichiers étendu . Il a été développé principalement pour Système d'exploitation MINIX . Le système de fichiers Ext est une version plus ancienne et n'est plus utilisé en raison de certaines limitations.

Poste2 est le premier système de fichiers Linux permettant de gérer deux téraoctets de données. Ext3 est développé via Ext2 ; il s'agit d'une version améliorée d'Ext2 et contient une compatibilité ascendante. L'inconvénient majeur d'Ext3 est qu'il ne prend pas en charge les serveurs car ce système de fichiers ne prend pas en charge la récupération de fichiers et les instantanés de disque.

Poste4 Le système de fichiers est le système de fichiers le plus rapide parmi tous les systèmes de fichiers Ext. Il s'agit d'une option très compatible pour les disques SSD (solid-state drive) et c'est le système de fichiers par défaut dans la distribution Linux.

2. Système de fichiers JFS

JFS signifie Système de fichiers journalisé , et il est développé par IBM pour AIX Unix . C'est une alternative au système de fichiers Ext. Il peut également être utilisé à la place d'Ext4, où la stabilité est nécessaire avec peu de ressources. C'est un système de fichiers pratique lorsque la puissance du processeur est limitée.

3. Système de fichiers ReiserFS

ReiserFS est une alternative au système de fichiers Ext3. Il a des performances améliorées et des fonctionnalités avancées. Auparavant, ReiserFS était utilisé comme système de fichiers par défaut dans SUSE Linux, mais plus tard, il a modifié certaines politiques, de sorte que SUSE est revenu à Ext3. Ce système de fichiers prend en charge dynamiquement l'extension de fichier, mais il présente certains inconvénients en termes de performances.

4. Système de fichiers XFS

Le système de fichiers XFS était considéré comme un JFS à grande vitesse, développé pour le traitement des E/S parallèles. La NASA utilise toujours ce système de fichiers avec son serveur à stockage élevé (serveur de plus de 300 téraoctets).

longueur de tableau en Java

5. Système de fichiers Btrfs

Btrfs représente le Système de fichiers d'arborescence B . Il est utilisé pour la tolérance aux pannes, le système de réparation, l'administration amusante, la configuration de stockage étendue, etc. Ce n’est pas une bonne solution pour le système de production.

6. Échanger le système de fichiers

Le système de fichiers d'échange est utilisé pour la pagination de la mémoire dans le système d'exploitation Linux pendant la mise en veille prolongée du système. Un système qui ne passe jamais en état de veille prolongée doit disposer d'un espace de swap égal à la taille de sa RAM.

Qu’est-ce que le montage dans le système de fichiers Linux ?

Sous Linux, le 'à monter' , un terme de système de fichiers, fait référence aux premiers jours de l'informatique où un disque amovible ou un pack de bandes devait physiquement être monté sur un périphérique de lecteur approprié. Sur le pack de disques, le système de fichiers serait logiquement monté par le système d'exploitation pour rendre le contenu accessible aux programmes d'application, au système d'exploitation et aux utilisateurs après avoir été physiquement situé sur le lecteur.

Simplement, un point de montage est un répertoire créé en tant que composant du système de fichiers. Par exemple, le système de fichiers personnel est placé dans le répertoire /home. Les systèmes de fichiers peuvent être placés sur des points de montage sur de nombreux systèmes de fichiers non root, mais c'est moins courant.

  • Le système de fichiers racine de Linux est monté sur le répertoire / (répertoire racine) très tôt dans la séquence de démarrage.
  • Plusieurs systèmes de fichiers sont ensuite montés par les programmes de démarrage de Linux, soit rc sur SystemV, soit via systemd dans les nouvelles versions de Linux.
  • Le montage du système de fichiers au démarrage est géré par le fichier de configuration, c'est-à-dire /etc/fstab .
  • Un moyen simple de comprendre que fstab est l'abréviation de 'table du système de fichiers' , et c'est une liste de systèmes de fichiers qui doivent être montés, leurs options et les points de montage désignés qui peuvent être requis pour des systèmes de fichiers particuliers.

Les systèmes de fichiers peuvent être montés sur un point/répertoire de montage disponible à l'aide de la commande mount. En d’autres termes, tout répertoire appliqué comme point de montage ne doit pas contenir d’autres fichiers et doit être vide. Linux n'empêchera pas les utilisateurs de monter un système de fichiers sur un système déjà disponible ou sur un répertoire contenant des fichiers. Le contenu réel sera couvert, et seul le contenu du système de fichiers fraîchement monté sera visible si nous montons un système de fichiers sur un système de fichiers ou un répertoire existant.