Les Commandes Unix
📘(Linux)
Chapitre 4 — Gestion des disques
📂 Affichage du contenu des répertoires
🔹 Afficher le contenu d’un répertoire
ls
🔹 Afficher le contenu avec les numéros d’inodes
ls -i
🔹 Afficher les informations détaillées d’un fichier (avec inode)
ls -li nom_fichier
🔹contenu)
Afficher les informations d’un répertoire (sans afficher son
ls -ldi nom_repertoire
🧩 Gestion et informations sur les inodes
🔹 Afficher les statistiques des inodes
Les Commandes Unix 1
df -i
📌 Informations affichées :
Inodes : nombre total
IUsed : utilisés
IFree : libres
IUse% : pourcentage d’utilisation
Mounted on : point de montage
📄 Métadonnées d’un fichier
🔹 Afficher toutes les métadonnées
stat nom_fichier
📌 Informations :
Taille
Numéro d’inode
Permissions
Propriétaire / groupe
Dates (accès, modification, changement)
💽 Gestion des partitions
🔧 La commande (GPT) gdisk
🔹 Afficher la table de partition
sudo gdisk -l /dev/sda
Les Commandes Unix 2
📌 Analyse :
MBR
BSD
APM
GPT
🛠️ Création d’une partition (mode interactif)
🔹 Lancer gdisk
sudo gdisk /dev/sdb
🔹 Aide
?
🔹 Types de partitions
l
📌 Exemple :
ef00 → EFI System Partition
🔹 Créer une partition
n
Puis :
Numéro
Début / fin
Code hexadécimal (ex : ef00 )
Les Commandes Unix 3
📋 Commandes utiles gdisk
Action Commande
Afficher la table p
Infos partition i
Renommer c
Sauvegarder w puis y
🔧 La commande parted
🔹 Mode interactif
sudo parted /dev/sda
🔹 Aide
help
🔹 Afficher la table
print
🔹 Créer une partition
mkpart
🔹 Quitter
quit
🗂️ Partitionnement avec LVM
Les Commandes Unix 4
🔹 Installer LVM
sudo apt-get install lvm2
🔹 Afficher les disques
lsblk
🔹 Créer un volume physique (PV)
sudo pvcreate /dev/sdc
🔹 Créer un groupe de volumes (VG)
sudo vgcreate mygrp /dev/sdc
🔹 Infos du VG
sudo vgdisplay mygrp
🔹 Créer un volume logique (LV)
sudo lvcreate -n vol1 -L 1G mygrp
🔹 Infos du LV
sudo lvdisplay /dev/mygrp/vol1
🧱 Création et gestion des systèmes de fichiers
🔹 Créer un système de fichiers
Les Commandes Unix 5
sudo mkfs.ext3 /dev/sda
ou
sudo mkfs -t ext3 /dev/mygrp/vol1
🔹 Vérifier le type de système de fichiers
lsblk -f
🔹 Infos détaillées (ext2/3/4)
sudo dump2fs /dev/mygrp/vol1
🔹 Afficher les blocs défectueux
sudo dump2fs -b /dev/mygrp/vol1
🔧 Modification du système de fichiers
🔹 Convertir ext2 → ext3
sudo tune2fs -j /dev/mygrp/vol1
🔹 Ajouter une étiquette (label)
sudo tune2fs -L"hello_world" /dev/mygrp/vol1
🔹 Afficher le superbloc
sudo tune2fs -l /dev/mygrp/vol1
Les Commandes Unix 6
✅ Vérification du système de fichiers
🔹 Vérifier et corriger
sudo fsck /dev/sdb2
🔹 Forcer la vérification
sudo fsck -f /dev/sdb2
📌 Montage et démontage
🔹 Montage temporaire
sudo mount /dev/sda /3a
🔹 Afficher les systèmes montés
df -h
🔹 Démontage
sudo umount /dev/sda
🔁 Montage permanent ( /etc/fstab )
Étape 1 : éditer
sudo gedit /etc/fstab
Les Commandes Unix 7
Étape 2 : ajouter
/dev/sda /3a ext3 defaults 0 2
Étape 3 : remonter
sudo mount -a
Étape 4 : vérifier
df -h
📘LinuxChapitre : Gestion des utilisateurs sous
1️⃣ Changement d’utilisateur (Switch User)
🔹 Commande su
su
→ Se connecter en tant que root (si le mot de passe root est défini)
sudo su
→ Se connecter en tant que root avec les privilèges sudo
sudo su user
→ Se connecter en tant qu’un autre utilisateur, sans changer le répertoire
courant
sudo su - user
→ Se connecter en tant qu’un autre utilisateur et accéder à son répertoire
personnel
2️⃣
Les Commandes Unix 8
2️⃣ Fichiers de configuration des utilisateurs
📂 /etc/passwd
Contient la liste des utilisateurs du système.
Chaque ligne contient 7 champs :
1. Username
2. Mot de passe (x → stocké dans shadow)
3. UID
4. GID
5. Commentaire
6. Home directory
7. Shell
👉 Modifier le champ commentaire :
sudo chfn nom_utilisateur
🔐 /etc/shadow
Contient les informations sensibles des mots de passe.
Il contient 9 champs :
1. Username
2. Mot de passe chiffré
3. Date du dernier changement
4. Âge minimum du mot de passe
5. Âge maximum
6. Avertissement
7. Inactivité
8. Date d’expiration
Les Commandes Unix 9
9. Champ réservé
👥 /etc/group
Contient la liste des groupes.
Il contient 4 champs :
1. Nom du groupe
2. Mot de passe
3. GID
4. Liste des membres
🔐 /etc/gshadow
Contient les informations sécurisées des groupes.
Il contient 4 champs :
1. Nom du groupe
2. Mot de passe
3. Administrateurs du groupe
4. Membres du groupe
3️⃣ Ajout d’un utilisateur : useradd
📌 Commande
sudo useradd [options] nom_utilisateur
🔧 Options principales
u → UID
g → GID principal
G → Groupes secondaires
Les Commandes Unix 10
c → Commentaire
m → Créer le répertoire personnel
d → Chemin du home directory
s → Shell
p → Mot de passe (non recommandé, non chiffré)
k → Répertoire squelette ( /etc/skel )
4️⃣ Paramètres par défaut de useradd
📂 /etc/default/useradd
Valeurs par défaut :
GROUP=100
INACTIVE=-1
HOME=/home
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
🔧 Modifier les valeurs par défaut
sudo usermod -D [options]
Options :
g → GID par défaut
u → UID
b → Répertoire home
f → Inactivité du mot de passe
e → Date d’expiration du compte
s → Shell par défaut
Les Commandes Unix 11
⚠️ Lorsqu’on applique :
sudo useradd -D
Deux fichiers sont concernés :
/etc/default/useradd
/etc/[Link]
5️⃣ Paramètres de /etc/[Link]
UID utilisateurs normaux : 1000 → 60000
UID système : 100 → 999
USERGROUPS_ENAB yes
→ Le groupe principal prend le même nom que l’utilisateur
PASS_MAX_DAYS = 99999
PASS_WARN_AGE =7
UMASK = 022
ENCRYPT_METHOD = SHA512
👉 Modifier avec :
sudo nano /etc/[Link]
6️⃣ Gestion des mots de passe : passwd
passwd [option] nom_utilisateur
Options :
n → Âge minimum
x → Âge maximum
Les Commandes Unix 12
w → Avertissement
i → Inactivité
l → Verrouiller le compte
u → Déverrouiller
d → Supprimer le mot de passe
S → Afficher l’état du mot de passe
7️⃣ Gestion avancée des mots de passe : chage
chage [option] nom_utilisateur
Options :
d → Date du dernier changement (YYYY-MM-DD)
E → Date d’expiration
m → Âge minimum
M → Âge maximum
W → Avertissement
I → Inactivité
8️⃣ Informations utilisateur
🔎 Commande id
id [option] nom_utilisateur
Options :
u → UID
g → GID
G → Groupes
Les Commandes Unix 13
un → Nom utilisateur
gn → Nom du groupe
👥 Commande groups
groups nom_utilisateur
→ Affiche tous les groupes de l’utilisateur
9️⃣ Modification d’un utilisateur : usermod
sudo usermod [option] nom_utilisateur
Options :
u → Modifier UID
g → Modifier GID principal
G → Remplacer groupes secondaires
aG → Ajouter à un groupe secondaire
d → Modifier home directory
s → Modifier shell
c → Modifier commentaire
l → Modifier le nom
L → Verrouiller
U → Déverrouiller
🔟 Suppression d’un utilisateur : userdel
sudo userdel [option] nom_utilisateur
Options :
Les Commandes Unix 14
r → Supprimer le compte et le répertoire personnel
f → Forcer la suppression même si connecté
1️⃣1️⃣ Gestion des groupes
➕ Ajouter un groupe
sudo groupadd [option] nom_groupe
Options :
g → GID
p → Mot de passe non chiffré
o → GID non unique
✏️ Modifier un groupe
sudo groupmod [option] nom_groupe
Options :
n → Renommer
g → Modifier GID
o → GID non unique
p → Mot de passe non chiffré
1️⃣2️⃣ Gestion des groupes avec gpasswd
gpasswd [option] nom_groupe
Options :
r → Supprimer mot de passe
Les Commandes Unix 15
R → Restreindre accès
A user1,user2 → Définir administrateurs
a user → Ajouter membre
d user → Supprimer membre
M user1,user2 → Définir membres (remplace)
1️⃣3️⃣ Changer de groupe temporairement
newgrp nom_groupe
→ Change le groupe temporairement pour la session
1️⃣4️⃣ Propriétaires des fichiers
👤 Changer le propriétaire
chown nom_utilisateur fichier
👥 Changer le groupe propriétaire
chgrp nom_groupe fichier
EFIBootmgr :
pour gere le gestionnaire de demarage uefi en usltilse efiBootmgr cest un ligne de
commande utlisier sous linux
Les Commandes Unix 16
BootCurrent: 0006 : Indique que l'entrée actuellement utilisée pour démarrer est
0006, correspondant à Ubuntu
BootOrder: 0006,0000,0001,0002,0003,0004,0005 : Spécifie l'ordre dans
lequel les périphériques de démarrage sont essayés,L'ordre de démarrage est :
1. Boot0006* ubuntu
2. Boot0000* EFI VMware Virtual SCSI Hard Drive (0.0): Disque dur virtuel SCSI
dans une machine virtuelle VMware.
3. Boot0001* EFI Floppy: Lecteur de disquettes EFI.
4. Boot0002* EFI VMware Virtual SATA CDROM Drive (0.0): Lecteur de CD-
ROM SATA virtuel dans une machine virtuelle VMware.
5. Boot0003* EFI VMware Virtual SATA CDROM Drive (1.0): Autre lecteur de
CD-ROM SATA virtuel dans une machine virtuelle VMware.
6. Boot0004* EFI Network: Option de démarrage réseau.
7. Boot0005* EFI Internal Shell (Unsupported option): Shell EFI interne, souvent
utilisé pour le dépannage ou le diagnostic.
pour lister les entrees de démarrage avec kes chemins en utlisie loption -v
Les Commandes Unix 17
2. Changer l'ordre des entrées
en peut charge lorder de démarrage a traver la commande efibootmgr -o exemple
:
3. Supprimer une entrée de démarrage
pour supprimer une entre de démarage
sudo efiBootmgr -B -b 0001
-b pour specifie l entrée de démarage a supprimer
-B pour executer la suppression
4. Créer une entrée de démarrage
udo efibootmgr -c -d /dev/sda -p 1 -L "Ubuntu20" -l '\EFI\ubuntu\[Link]
l'option -c permet de créer l'entrée, -d /dev/sda spécifie le disque, -p 1 indique
la partition, -L "Ubuntu20" attribue un nom à l'entrée, et -l
'\EFI\ubuntu\[Link]' définit le chemin du fichier de démarrage
5. Amorcer temporairement sur une autre entrée
pour execute une entre lors du prochain demarrage sans modifier lorder de
démarrage (bootorder) en utlisier sudo efibootmgr -n <numeroEntre>
Les Commandes Unix 18
6. Définir l'intervalle de temporisation du gestionnaire de démarrage EFI
pour definir un delai dans le menu de uefi en utlisle sudo efibootmgr -t <delai>
Fichiers de configuration principaux :
1)
/etc/default/grub
→ Contient les
paramètres globaux
Principaux paramètres :
GRUB_DEFAULT → Définit le système d’exploitation démarré par défaut.
0 → première entrée, 1 → deuxième, etc.
"saved" → démarre le dernier système utilisé avec succès.
GRUB_TIMEOUT_STYLE → Contrôle l’affichage du menu pendant l’attente :
menu → affiche le menu avec le compteur.
hidden → masque le menu.
→ masque le menu mais permet de le révéler en appuyant
hidden_timeout
sur une touche.
Les Commandes Unix 19
GRUB_TIMEOUT→ Définit le délai d’attente (en secondes) avant le démarrage
automatique :
0 → démarre immédiatement.
1 → attend indéfiniment.
GRUB_DISTRIBUTOR → Définit le nom affiché dans le menu (par défaut, le nom
de la distribution comme “Ubuntu”).
GRUB_CMDLINE_LINUX_DEFAULT → Définit les options du noyau pour le
démarrage normal :
ex. quiet splash → écran de démarrage graphique et messages réduits.
GRUB_CMDLINE_LINUX → Définit les options pour le mode de récupération :
ex. [Link]=force ou [Link]=yes → vérifie et répare le système de
fichiers
2)
/etc/grub.d/
→ Contient des scripts numérotés exécutés par update-grub pour générer le
menu :
00_header : paramètres de base
05_debian_theme : thème et apparence
10_linux : détection des noyaux Linux
20_memtest86+ : test de la mémoire
30_os-prober : détection d’autres OS (ex : Windows)
40_custom , 41_custom : entrées personnalisées
3)
/boot/grub/[Link]
→ Fichier final généré automatiquement par update-grub .
⚠️ Ne pas le modifier
Les Commandes Unix 20
directement — toute mise à jour le réécrit
donc les fichier sont :
1. Table gpt : boot/efi/EFI/ubuntu/[Link]
2. Configuration de grub2 : boot/grub/[Link]
Les deux fichier de configuration de grub:
1. etc/default/grub
2. etc/grub.d
📘avecDocumentation
systemd
: Gestion des services
1️⃣ systemd et les Unit files
🔹 Qu’est-ce que systemd ?
systemd est le système d’initialisation des distributions Linux modernes.
Il gère :
le démarrage du système
les services
les montages
les cibles (targets)
les journaux système
Les éléments gérés par systemd sont appelés units.
🔹 Emplacements des unit files
📂 Lister toutes les unit files du système :
Les Commandes Unix 21
ls /lib/systemd/system
📂 Lister les unit files locales (personnalisées) :
ls /etc/systemd/system
✍️ Créer une nouvelle unit file :
Les unit files personnalisées doivent être placées dans :
/etc/systemd/system/
🔹 Commandes importantes systemd
🔍 Voir l’état d’une unit (service)
systemctl status nom_service.service
🔄 Recharger toutes les unit files
systemctl daemon-reload
2️⃣ Commandes systemctl
🔹 Lister les services
systemctl list-units --type=service
🔹 Lister les targets
systemctl list-units --type=target
🔹 Lister toutes les unit files
Les Commandes Unix 22
systemctl list-unit-files
🔹 Gestion d’un service
Action Commande
Voir l’état systemctl status nom_service
Activer au démarrage systemctl enable nom_service
Désactiver systemctl disable nom_service
Démarrer systemctl start nom_service
Arrêter systemctl stop nom_service
Recharger systemctl reload nom_service
Redémarrer systemctl restart nom_service
Forcer l’arrêt systemctl kill nom_service
3️⃣ Les Targets (cibles systemd)
🔹 Définition
Un target est un groupe de services permettant de définir l’état du système.
🔹 Exemples de targets courantes
Target Rôle
[Link] Éteindre le système
[Link] Mode secours (root seul)
Mode multi-utilisateur (sans
[Link]
GUI)
[Link] Mode graphique
[Link] Redémarrage
🔹 Voir le target par défaut
Les Commandes Unix 23
systemctl get-default
4️⃣ journalctl (logs système)
🔹 Définition
journalctl permet de consulter les journaux du système :
erreurs
services
démarrage
messages noyau
événements système
🔹 Commandes journalctl utiles
Commande Description
journalctl Affiche tous les logs
journalctl -e Aller à la fin des logs
journalctl -f Affichage en temps réel
journalctl -n 100 Dernières 100 lignes
journalctl -p err Erreurs uniquement
journalctl --since "2025-12-01" Logs depuis une date
journalctl -u nom_service Logs d’un service
5️⃣ Structure d’un fichier Unit (Service)
🔹 Exemple de structure
[Unit]
Description=Description du service
Les Commandes Unix 24
Documentation=[Link]
After=[Link]
Before=[Link]
Wants=[Link]
🔹 Rôle des directives :
Description : description du service
Documentation : lien de documentation
After : démarre après cette unit
Before : démarre avant cette unit
Wants : démarre en parallèle
🔹 Section [Service]
[Service]
ExecStart=/chemin/commande
ExecStop=/chemin/commande_stop
Restart=always
ExecStart : commande de démarrage
ExecStop : commande d’arrêt
Restart : redémarrage automatique
🔹 Section [Install]
[Install]
WantedBy=[Link]
Définit dans quel target le service sera lancé automatiquement
Les Commandes Unix 25