Gestion du système de fichiers et du disque

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Bienvenue dans ce laboratoire (lab) sur la gestion des systèmes de fichiers et des disques sous Linux! Ce laboratoire est conçu pour les débutants qui commencent tout juste à explorer le monde de l'administration des systèmes Linux. Nous vous guiderons à travers les commandes et les concepts essentiels liés à la gestion de l'espace disque, à la création de disques virtuels et à la maintenance des systèmes de fichiers. À la fin de ce laboratoire, vous aurez acquis une expérience pratique avec les outils de base de gestion de disques Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/head("File Beginning Display") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/TextProcessingGroup -.-> linux/sort("Text Sorting") linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") linux/SystemInformationandMonitoringGroup -.-> linux/mount("File System Mounting") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/head -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} linux/mkdir -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} linux/sort -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} linux/df -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} linux/du -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} linux/mount -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} linux/dd -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} linux/sudo -.-> lab-17999{{"Gestion du système de fichiers et du disque"}} end

Affichage de l'utilisation du disque avec df

La commande df (disk free, espace disque libre) est l'outil idéal pour vérifier l'utilisation de l'espace disque sur votre système Linux. Explorons comment l'utiliser :

  1. Ouvrez votre terminal. Vous devriez être dans le répertoire /home/labex/project. Si vous n'êtes pas sûr, vous pouvez toujours vérifier votre répertoire actuel avec la commande pwd.

  2. Exécutez la commande suivante pour afficher l'utilisation du disque :

    df

    Vous verrez une sortie similaire à ceci :

    Filesystem     1K-blocks      Used Available Use% Mounted on
    overlay         20971520    128744  20842776   1% /
    tmpfs              65536         0     65536   0% /dev
    tmpfs            3995004         0   3995004   0% /sys/fs/cgroup
    shm                65536         0     65536   0% /dev/shm
    /dev/vdb       104806400  57754052  47052348  56% /etc/hosts

    Ne vous inquiétez pas si cela semble confus au début! Décortiquons cela :

    • Filesystem : Cette colonne affiche le nom du disque ou de la partition.
    • 1K-blocks : C'est la taille totale du système de fichiers en blocs de 1 kilooctet.
    • Used : Cela montre combien d'espace est actuellement utilisé.
    • Available : Cela montre combien d'espace libre reste.
    • Use% : Cela montre le pourcentage du système de fichiers qui est utilisé.
    • Mounted on : Cela montre où dans l'arborescence des répertoires le système de fichiers est monté.
  3. Maintenant, rendons cette sortie plus lisible pour l'homme. Exécutez :

    df -h

    L'option -h signifie "human-readable" (lisible pour l'homme). Vous verrez une sortie comme celle-ci :

    Filesystem      Size  Used Avail Use% Mounted on
    overlay          20G  126M   20G   1% /
    tmpfs            64M     0   64M   0% /dev
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    shm              64M     0   64M   0% /dev/shm
    /dev/vdb        100G   56G   45G  56% /etc/hosts

    Beaucoup mieux, n'est-ce pas? Maintenant, les tailles sont en Go et en Mo, ce qui est plus facile à comprendre.

  4. Si vous souhaitez vérifier l'espace sur un système de fichiers spécifique, vous pouvez le spécifier :

    df -h /dev/vdb

    Cela affichera uniquement les informations pour le système de fichiers /dev/vdb.

La commande df est incroyablement utile pour vérifier rapidement combien d'espace disque vous avez encore disponible. Si vous rencontrez jamais des problèmes où votre système indique qu'il manque d'espace, df est souvent la première commande que vous utiliserez pour enquêter.

Examen des tailles de répertoires avec du

Alors que df nous donne une vue d'ensemble de l'utilisation du disque, parfois nous devons approfondir notre recherche. C'est là que du (disk usage, utilisation du disque) entre en jeu. Il nous aide à comprendre quels répertoires et fichiers occupent le plus d'espace.

  1. Commençons par utiliser du dans sa forme la plus simple. Exécutez :

    du ~

    Vous verrez une longue liste de nombres et de noms de répertoires. Chaque nombre représente la taille du répertoire en kilooctets. Cela peut être écrasant, alors rendons-le plus gérable.

  2. Pour une sortie plus lisible, utilisez l'option -h :

    du -h ~

    L'option -h, tout comme avec df, rend la sortie lisible pour l'homme. Vous verrez les tailles en Ko, Mo ou Go selon le cas.

  3. Souvent, nous voulons simplement connaître la taille totale d'un répertoire. Pour cela, utilisez :

    du -sh ~

    Ici, -s signifie "summarize" (résumer) et ~ représente votre répertoire personnel. Cette commande vous montrera la taille totale de tout le contenu de votre répertoire personnel.

  4. Pour afficher les tailles des sous-répertoires directs de votre répertoire personnel, utilisez :

    du -h --max-depth=1 ~

    Cela affiche la taille de chaque sous-répertoire à un niveau de profondeur. L'option --max-depth=1 limite la profondeur de recherche de du dans les sous-répertoires.

  5. Vérifions la taille des éléments de votre répertoire personnel :

    du -sh ~/*

    Cela affichera la taille de chaque élément directement sous votre répertoire personnel.

  6. Voici une commande puissante pour trouver les éléments les plus volumineux de votre répertoire personnel :

    du -h ~ | sort -rh | head -n 10

    Décortiquons cela :

    • du -h ~ liste tous les fichiers et répertoires de votre répertoire personnel avec leurs tailles
    • sort -rh trie cette liste dans l'ordre inverse (les plus volumineux en premier) et dans un format lisible pour l'homme
    • head -n 10 affiche seulement les 10 premières lignes de la sortie
    • | est un tuyau (pipe) qui transmet la sortie d'une commande en tant qu'entrée à la commande suivante

    Cette commande est un excellent exemple de la façon dont nous pouvons combiner des commandes Linux simples pour effectuer des opérations plus complexes.

La commande du est inestimable lorsque vous essayez de libérer de l'espace disque. Elle vous aide à identifier quels répertoires ou fichiers occupent le plus d'espace, afin que vous sachiez où concentrer vos efforts de nettoyage.

Création et gestion d'un disque virtuel

Maintenant, nous allons créer un fichier de disque virtuel, le formater avec un système de fichiers et le monter. Ce processus est similaire à la configuration d'un nouveau disque dur, mais nous le faisons tout au sein d'un fichier.

  1. Tout d'abord, créons un disque virtuel de 256 Mo en utilisant la commande dd :

    dd if=/dev/zero of=virtual.img bs=1M count=256

    Voici ce que fait cette commande :

    • if=/dev/zero : Le fichier d'entrée est /dev/zero, un fichier spécial qui fournit autant d'octets nuls que l'on en lit.
    • of=virtual.img : Le fichier de sortie est virtual.img.
    • bs=1M : Définit à la fois la taille de bloc d'entrée et de sortie à 1 mégaoctet.
    • count=256 : Copie seulement 256 blocs d'entrée.

    Cela crée effectivement un fichier de 256 Mo rempli de zéros.

  2. Vérifions la taille du fichier :

    ls -lh virtual.img

    Vous devriez voir que virtual.img fait exactement 256 Mo.

  3. Maintenant, formattons ce disque virtuel avec un système de fichiers ext4 :

    sudo mkfs.ext4 virtual.img

    Cette commande crée un système de fichiers ext4 sur notre fichier de disque virtuel. Vous verrez quelques informations sur le processus de création du système de fichiers.

  4. Ensuite, nous devons créer un point de montage. C'est le répertoire où le contenu de notre disque virtuel apparaîtra :

    sudo mkdir /mnt/virtualdisk
  5. Maintenant, nous pouvons monter le disque virtuel :

    sudo mount -o loop virtual.img /mnt/virtualdisk

    L'option -o loop est nécessaire car nous montons un fichier comme s'il était un périphérique bloc.

  6. Vérifions que le disque est monté :

    mount | grep virtualdisk

    Vous devriez voir une ligne indiquant que virtual.img est monté sur /mnt/virtualdisk.

  7. Maintenant que le disque est monté, nous pouvons l'utiliser comme n'importe quel autre répertoire. Créons un fichier :

    sudo touch /mnt/virtualdisk/testfile
    ls /mnt/virtualdisk

    Vous devriez voir testfile dans la liste.

  8. Lorsque vous avez fini d'utiliser le disque virtuel, vous devriez le démonter :

    sudo umount /mnt/virtualdisk

Ce processus de création, de formatage et de montage d'un disque virtuel est très similaire à ce qui se passe lorsque vous branchez un nouveau disque dur ou une clé USB. La principale différence est que nous faisons tout avec un fichier au lieu d'un périphérique physique.

Monter un système de fichiers signifie l'attacher à un répertoire spécifié afin que le système d'exploitation puisse accéder aux données à l'intérieur du système de fichiers. Dans ce laboratoire, le fichier d'image de disque virtuel est traité comme s'il était un disque physique, et le montage rend son contenu accessible à un répertoire particulier (par exemple, /mnt/virtualdisk).

Démonter retire le système de fichiers de ce répertoire, en s'assurant que le système d'exploitation termine toutes les opérations de lecture et d'écriture en attente avant de le détacher. Ne pas démonter correctement peut entraîner une corruption de données. Bien que la syntaxe de la commande se concentre sur le démontage du répertoire, en réalité, le système d'exploitation sait que ce répertoire correspond à l'image de disque montée.

Gestion des partitions de disque avec fdisk

Dans un système réel, avant de pouvoir créer un système de fichiers, vous avez souvent besoin de créer des partitions. Bien que nous ne puissions pas modifier les partitions de disque réelles dans cet environnement virtuel, nous pouvons explorer comment utiliser fdisk pour afficher les informations sur les partitions.

  1. Tout d'abord, affichons les informations sur toutes les partitions de disque :

    sudo fdisk -l

    Cela affichera les informations sur tous les périphériques de disque et leurs partitions. Vous verrez des détails sur la taille du disque, le nombre de secteurs et la table de partitions.

  2. Maintenant, regardons les informations de partition pour notre disque virtuel :

    sudo fdisk -l virtual.img

    Cela vous montrera la table de partitions du disque virtuel. Étant donné que nous avons créé le système de fichiers directement sur l'image de disque sans partitionner, vous pourriez voir un message indiquant qu'elle ne contient pas de table de partitions valide.

Dans un système réel, vous utiliseriez fdisk de manière interactive pour créer, supprimer ou modifier des partitions. Voici un bref aperçu de fonctionnement :

  • Vous démarreriez fdisk avec sudo fdisk /dev/sdX (remplacez X par la lettre appropriée pour le disque que vous souhaitez partitionner)
  • Vous utiliseriez la commande 'n' pour créer une nouvelle partition
  • 'd' supprimerait une partition
  • 't' changerait l'identifiant de système d'une partition (qui indique l'utilisation prévue de la partition)
  • 'w' écrirait les modifications et quitterait

N'oubliez pas que la modification des partitions peut entraîner une perte de données, donc soyez toujours prudent et faites une sauvegarde des données importantes avant de modifier les partitions de disque.

Fdisk n'est pas limité à l'affichage des informations de partition. Il peut également créer, supprimer et modifier les partitions de disque de manière interactive. Bien qu'il s'agisse d'un outil essentiel pour le partitionnement de disque, soyez prudent lorsque vous utilisez fdisk pour modifier les partitions sur un système contenant des données critiques ; des modifications inappropriées peuvent entraîner une perte de données.

Résumé

Félicitations! Dans ce laboratoire, vous avez appris à :

  1. Afficher l'utilisation du disque avec df
  2. Examiner les tailles de répertoires avec du
  3. Créer, formater, monter et démonter un disque virtuel
  4. Afficher les informations de partition avec fdisk

Ces compétences constituent une base pour des tâches d'administration système Linux plus avancées. Elles sont essentielles pour gérer le stockage, résoudre les problèmes d'espace disque et maintenir la santé des systèmes de fichiers dans les systèmes Linux.

En défi supplémentaire, essayez d'écrire un script shell qui trouve les 10 fichiers ou répertoires les plus volumineux de votre répertoire personnel et affiche leurs tailles dans un format lisible pour l'homme. Cela combinera plusieurs des commandes que vous avez apprises dans ce laboratoire.

N'oubliez pas que la pratique est la clé pour maîtriser ces concepts. N'hésitez pas à expérimenter avec ces commandes (dans un environnement sûr) pour approfondir votre compréhension. Bonne chance dans votre parcours d'apprentissage continu en administration système Linux!