Script Bash qui récupère les informations système et les affiche sous forme de table :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
# Récupération des informations système
os_name=$(cat /etc/*release | grep PRETTY_NAME | cut -d '"' -f 2)
ram=$(free -m | grep Mem | awk '{print $2}')
processor=$(grep -c processor /proc/cpuinfo)
fs=$(df -h | awk '{print $1}' | grep -v Filesystem | wc -l)
disks=$(lsblk -d -o name | grep -v name | wc -l)
interfaces=$(ip link show | grep -c UP)
# Affichage des informations sous forme de table
echo "+-----------------------------+"
echo "| Informations système |"
echo "+-----------------------------+"
echo "| OS name | $os_name"
echo "| RAM | $ram MB"
echo "| Processor | $processor"
echo "| Filesystems | $fs"
echo "| Disks | $disks"
echo "| Interfaces | $interfaces"
echo "+-----------------------------+"
Le script utilise plusieurs commandes pour récupérer les informations système et les stocke dans des variables :
os_name=$(cat /etc/*release | grep PRETTY_NAME | cut -d '"' -f 2)
récupère le nom de l’OS en lisant le contenu du fichier /etc/*release
, en filtrant les lignes contenant PRETTY_NAME
avec grep
et en extrayant le nom de l’OS avec cut
.ram=$(free -m | grep Mem | awk '{print $2}')
récupère la quantité de RAM disponible en utilisant la commande free
, en filtrant la ligne contenant Mem
avec grep
et en récupérant la quantité de RAM disponible en Mo avec awk
.processor=$(grep -c processor /proc/cpuinfo)
récupère le nombre de processeurs disponibles en lisant le fichier /proc/cpuinfo
et en comptant le nombre de lignes contenant processor
avec grep
.fs=$(df -h | awk '{print $1}' | grep -v Filesystem | wc -l)
récupère le nombre de filesystems montés en utilisant la commande df
, en récupérant la liste des filesystems montés avec awk
et en comptant le nombre de lignes avec wc
.disks=$(lsblk -d -o name | grep -v name | wc -l)
récupère le nombre de disques durs physiques en utilisant la commande lsblk
, en récupérant la liste des noms de disques durs physiques avec lsblk -d -o name
et en comptant le nombre de lignes avec wc
.interfaces=$(ip link show | grep -c UP)
récupère le nombre d’interfaces réseau disponibles en utilisant la commande ip link
, en filtrant les interfaces actives avec grep
et en comptant le nombre de lignes.Ensuite, le script affiche les informations sous forme de table en utilisant la commande echo
:
+-----------------------------+
) affiche le bord supérieur de la table.|
est utilisé pour séparer les différentes colonnes.+-----------------------------+
) affiche le bord inférieur de la table.En exécutant ce script, vous obtiendrez une table affichant les informations système sous une forme plus claire et lisible que la liste brute des variables.