Vérifier le nombre de fs par catégorie sur une machine Linux

Le 8 septembre 2022
bash df awk

Voici un script Bash qui permet de vérifier le nombre de fs par catégorie sur une machine Linux :

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash

# Récupérer la liste des fs montés
filesystems=$(df -h --output=target,fstype | tail -n +2)

# Initialiser les compteurs pour chaque catégorie
nb_nfs=0
nb_tmpfs=0
nb_ext=0
nb_vfat=0
nb_autre=0

# Parcourir la liste des fs et incrémenter les compteurs appropriés
while read filesystem; do
    type=$(echo $filesystem | awk '{print $2}')
    case $type in
        nfs)
            nb_nfs=$((nb_nfs+1))
            ;;
        tmpfs)
            nb_tmpfs=$((nb_tmpfs+1))
            ;;
        ext*)
            nb_ext=$((nb_ext+1))
            ;;
        vfat)
            nb_vfat=$((nb_vfat+1))
            ;;
        *)
            nb_autre=$((nb_autre+1))
            ;;
    esac
done <<< "$filesystems"

# Afficher les résultats à l'utilisateur
echo "Nombre de fs par catégorie :"
echo "NFS : $nb_nfs"
echo "TMPFS : $nb_tmpfs"
echo "EXT : $nb_ext"
echo "VFAT : $nb_vfat"
echo "Autre : $nb_autre"

Ce script utilise la commande df pour récupérer la liste des fs montés sur la machine, ainsi que leur type (catégorie). Les commandes awk et tail sont utilisées pour extraire ces informations de la sortie de la commande.

Le script utilise ensuite une boucle while pour parcourir la liste des fs et incrémenter les compteurs appropriés en fonction de leur catégorie. La commande case est utilisée pour effectuer cette opération de manière efficace.

Notez que ce script peut être exécuté en tant qu’utilisateur normal et ne nécessite pas de privilèges spéciaux.