Gestion des disques Linux

La qualité de la gestion des disques Linux affecte directement les performances de l'ensemble du système.

Les trois commandes couramment utilisées pour la gestion des disques Linux sont :df、duetfdisk。

  • df(Nom complet anglais : disk free) : Liste l'utilisation globale du disque du système de fichiers
  • du(Nom complet anglais : disk used) : Vérifie l'utilisation de l'espace disque
  • fdisk: Utilisé pour le partitionnement du disque

df

Fonction du paramètre de la commande df : Vérifie l'utilisation de l'espace disque du système de fichiers. Vous pouvez utiliser cette commande pour obtenir des informations telles que l'espace occupé sur le disque dur et l'espace actuellement restant.

Syntaxe :

df [-ahikHTm] [目录或文件名]

Options et paramètres :

  • -h: Affiche les résultats de sortie dans un format lisible par l'humain (par exemple, en utilisant des unités telles que KB, MB, GB).

  • -T: Affiche le type de système de fichiers.

  • -t <文件系统类型>: Affiche uniquement les systèmes de fichiers du type spécifié.

  • -i: Affiche l'utilisation des inodes.

  • -H: Ce paramètre est-hune variante de celui-ci, mais utilise 1000 bytes comme unité de base au lieu de 1024 bytes. Cela signifie qu'il affiche l'utilisation du disque en unités SI (Système international d'unités) (telles que MB, GB) plutôt qu'en unités binaires (telles que MiB, GiB).

  • -k: Cette option affiche l'utilisation de l'espace disque en KB comme unité.

  • -a: Ce paramètre affiche tous les systèmes de fichiers, y compris les systèmes de fichiers virtuels, tels queproc、sysfsetc. Si cette option n'est pas utilisée, par défaut,dfla commande n'affichera pas les systèmes de fichiers virtuels.

Exemple 1

Listez tous les systèmes de fichiers du système !

[root@www ~]# df
Filesystem      1K-blocks      Used Available Use% Mounted on
/dev/hdc2         9920624   3823112   5585444  41% /
/dev/hdc3         4956316    141376   4559108   4% /home
/dev/hdc1          101086     11126     84741  12% /boot
tmpfs              371332         0    371332   0% /dev/shm

Sous Linux, si df est utilisé sans aucune option, par défaut, il listera tous les systèmes de fichiers du système (à l'exclusion des systèmes de fichiers spéciaux en mémoire et du swap) d'une capacité de 1 Kbytes !

Exemple 2

Affichez les résultats de capacité dans un format de capacité lisible

[root@www ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.7G  5.4G  41% /
/dev/hdc3             4.8G  139M  4.4G   4% /home
/dev/hdc1              99M   11M   83M  12% /boot
tmpfs                 363M     0  363M   0% /dev/shm

Exemple 3

Listez tous les formats et noms de fichiers spéciaux du système

[root@www ~]# df -aT
Filesystem    Type 1K-blocks    Used Available Use% Mounted on
/dev/hdc2     ext3   9920624 3823112   5585444  41% /
proc          proc         0       0         0   -  /proc
sysfs        sysfs         0       0         0   -  /sys
devpts      devpts         0       0         0   -  /dev/pts
/dev/hdc3     ext3   4956316  141376   4559108   4% /home
/dev/hdc1     ext3    101086   11126     84741  12% /boot
tmpfs        tmpfs    371332       0    371332   0% /dev/shm
none   binfmt_misc         0       0         0   -  /proc/sys/fs/binfmt_misc
sunrpc  rpc_pipefs         0       0         0   -  /var/lib/nfs/rpc_pipefs

Exemple 4

Affichez la capacité de disque disponible sous /etc dans un format de capacité lisible

[root@www ~]# df -h /etc
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.7G  5.4G  41% /

du

La commande Linux du est également utilisée pour consulter l'espace utilisé, mais contrairement à la commande df, la commande Linux du vérifie l'espace disque utilisé par les fichiers et les répertoires. Elle présente encore quelques différences par rapport à la commande df. Nous présentons ici la commande Linux du.

Syntaxe :

du [-ahskm] 文件或目录名称

Options et paramètres :

  • -a : liste la capacité de tous les fichiers et répertoires, car par défaut, seuls les fichiers situés dans les répertoires sont comptabilisés.
  • -h : affiche dans un format de capacité plus lisible pour l'humain (G/M) ;
  • -s : affiche uniquement la taille totale du répertoire ou du fichier spécifié, sans afficher les tailles de ses sous-répertoires.
  • -S : inclut le total des sous-répertoires, ce qui est quelque peu différent de -s.
  • -k : liste la capacité en KBytes ;
  • -m : liste la capacité en MBytes ;

Exemple 1

Liste uniquement la capacité de tous les dossiers du répertoire courant (y compris les dossiers cachés) :

[root@www ~]# du
8       ./test4     <==每个目录都会列出来
8       ./test2
....中间省略....
12      ./.gconfd   <==包括隐藏文件的目录
220     .           <==这个目录(.)所占用的总量

Lorsque du est saisi directement sans aucune option, du analyse l'espace disque dur occupé par les sous-répertoires du répertoire courant.

Exemple 2

Liste également la capacité des fichiers

[root@www ~]# du -a
12      ./install.log.syslog   <==有文件的列表了
8       ./.bash_logout
8       ./test4
8       ./test2
....中间省略....
12      ./.gconfd
220     .

Exemple 3

Vérifier la capacité occupée par chaque répertoire sous le répertoire racine

[root@www ~]# du -sm /*
7       /bin
6       /boot
.....中间省略....
0       /proc
.....中间省略....
1       /tmp
3859    /usr     <==系统初期最大就是他了啦!
77      /var

Le caractère générique * est utilisé pour représenter chaque répertoire.

Contrairement à df, la commande du va en fait directement dans le système de fichiers pour rechercher toutes les données de fichiers.


fdisk

fdisk est un outil de manipulation de table de partitions de disque pour Linux.

Syntaxe :

fdisk [-l] 装置名称

Options et paramètres :

  • -l : affiche tout le contenu des partitions de l’appareil qui suit. Si seule la commande fdisk -l est utilisée, le système listera toutes les partitions des appareils qu’il peut trouver dans l’ensemble du système.

Exemple 1

Lister toutes les informations de partition

[root@AY120919111755c246621 tmp]# fdisk -l

Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        2550    20480000   83  Linux
/dev/xvda2            2550        2611      490496   82  Linux swap / Solaris

Disk /dev/xvdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x56f40944

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdb2               1        2610    20964793+  83  Linux

Exemple 2

Trouvez le disque où se trouve le répertoire racine dans votre système, et consultez les informations pertinentes sur ce disque dur

[root@www ~]# df /            <==注意:重点在找出磁盘文件名而已
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hdc2              9920624   3823168   5585388  41% /

[root@www ~]# fdisk /dev/hdc  <==仔细看,不要加上数字喔!
The number of cylinders for this disk is set to 5005.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):     <==等待你的输入!

Après avoir saisi m, vous verrez ci-dessous l’introduction de ces commandes

Command (m for help): m   <== 输入 m 后,就会看到底下这些命令介绍
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition            <==删除一个partition
   l   list known partition types
   m   print this menu
   n   add a new partition           <==新增一个partition
   o   create a new empty DOS partition table
   p   print the partition table     <==在屏幕上显示分割表
   q   quit without saving changes   <==不储存离开fdisk程序
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit  <==将刚刚的动作写入分割表
   x   extra functionality (experts only)

Lorsque vous quittez fdisk, appuyez surq, alors toutes les actions ne prendront pas effet ! À l’inverse, appuyer surwsignifie que les actions prennent effet.

Command (m for help): p  <== 这里可以输出目前磁盘的状态

Disk /dev/hdc: 41.1 GB, 41174138880 bytes        <==这个磁盘的文件名与容量
255 heads, 63 sectors/track, 5005 cylinders      <==磁头、扇区与磁柱大小
Units = cylinders of 16065 * 512 = 8225280 bytes <==每个磁柱的大小

   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1          13      104391   83  Linux
/dev/hdc2              14        1288    10241437+  83  Linux
/dev/hdc3            1289        1925     5116702+  83  Linux
/dev/hdc4            1926        5005    24740100    5  Extended
/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris
# 装置文件名 启动区否 开始磁柱    结束磁柱  1K大小容量 磁盘分区槽内的系统

Command (m for help): q

Vous voulez quitter sans enregistrer ? Appuyez simplement sur q ! N’appuyez pas sur w à la légère !

Utiliserppour lister les informations de la table de partitions du disque actuel. La partie supérieure de ces informations affiche l’état global du disque.


Formatage de disque

Une fois le partitionnement du disque terminé, l’étape suivante naturelle consiste à formater le système de fichiers. La commande de formatage est très simple ; utilisez lamkfscommande (make filesystem).

Syntaxe :

mkfs [-t 文件系统格式] 装置文件名

Options et paramètres :

  • -t : permet de spécifier un format de système de fichiers, tel que ext3, ext2, vfat, etc. (Cela ne prend effet que si le système le prend en charge)

Exemple 1

Afficher les formats de fichiers pris en charge par mkfs

[root@www ~]# mkfs[tab][tab]
mkfs         mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.msdos   mkfs.vfat

Appuyez deux fois sur [tab], et vous constaterez que les formats de fichiers pris en charge par mkfs sont comme indiqué ci-dessus.

Exemple 2

Formatez la partition /dev/hdc6 (vous pouvez spécifier votre propre partition) en système de fichiers ext3 :

[root@www ~]# mkfs -t ext3 /dev/hdc6
mke2fs 1.39 (29-May-2006)
Filesystem label=                <==这里指的是分割槽的名称(label)
OS type: Linux
Block size=4096 (log=2)          <==block 的大小配置为 4K 
Fragment size=4096 (log=2)
251392 inodes, 502023 blocks     <==由此配置决定的inode/block数量
25101 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=515899392
16 block groups
32768 blocks per group, 32768 fragments per group
15712 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done <==有日志记录
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
# 这样就创建起来我们所需要的 Ext3 文件系统了!简单明了!

Vérification du disque

fsck (vérification du système de fichiers) sert à vérifier et à maintenir les systèmes de fichiers incohérents.

Si le système perd l’alimentation ou si le disque a des problèmes, la commande fsck peut être utilisée pour vérifier le système de fichiers.

Syntaxe :

fsck [-t 文件系统] [-ACay] 装置名称

Options et paramètres :

  • -t : spécifie le type du système de fichiers. S’il est déjà défini dans /etc/fstab ou déjà pris en charge par le noyau lui-même, ce paramètre n’a pas besoin d’être ajouté.
  • -s : exécute les commandes fsck une par une, en séquence, pour vérifier.
  • -A : vérifie toutes les partitions listées dans /etc/fstab.
  • -C : Affiche la progression complète de la vérification.
  • -d : Affiche les résultats de débogage d'e2fsck.
  • -p : Lorsqu'elle est combinée avec la condition -A, plusieurs vérifications fsck sont exécutées simultanément.
  • -R : Lorsqu'elle est combinée avec la condition -A, omet / et ne le vérifie pas.
  • -V : mode d'affichage verbeux.
  • -a : Répare automatiquement si des erreurs sont trouvées pendant la vérification.
  • -r : Si des erreurs sont trouvées pendant la vérification, l'utilisateur est invité à indiquer s'il faut les réparer.
  • -y : L'option spécifie que oui est automatiquement saisi pour vérifier chaque fichier. Lorsque vous n'êtes pas sûr de savoir quels fichiers sont anormaux, vous pouvez exécuter # fsck -y pour tout vérifier et réparer.

Exemple 1

Affichez combien de commandes fsck de système de fichiers sont prises en charge par le système :

[root@www ~]# fsck[tab][tab]
fsck         fsck.cramfs  fsck.ext2    fsck.ext3    fsck.msdos   fsck.vfat

Exemple 2

Forcer la vérification de la partition /dev/hdc6 :

[root@www ~]# fsck -C -f -t ext3 /dev/hdc6 
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks

Si l'option -f n'est pas ajoutée, comme ce système de fichiers n'a jamais eu de problèmes, le processus de vérification sera très rapide ! Ce n'est que si -f est ajouté pour une vérification forcée que le processus sera affiché élément par élément.


Montage et démontage de disques

Le montage de disque sous Linux utilise lemountcommande, et le démontage utilise laumountcommande.

Syntaxe de montage de disque :

mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n]  装置文件名  挂载点

Exemple 1

Utilisez la méthode par défaut pour monter le /dev/hdc6 qui vient d'être créé sur /mnt/hdc6 !

[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
.....中间省略.....
/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

Commande de démontage de disqueumountSyntaxe :

umount [-fn] 装置文件名或挂载点

Options et paramètres :

  • -f : Forcer le démontage ! Peut être utilisé dans des situations telles que lorsqu'un système de fichiers réseau (NFS) ne peut pas être lu ;
  • -n : Démonter sans mettre à jour /etc/mtab.

Démonter /dev/hdc6

[root@www ~]# umount /dev/hdc6     
Autres extensions