WIKI Retour au Portfolio

Dernière mise à jour : 23 juin 2026

8 - Récap Commandes (RHCSA)

Fiche de référence : les 153 commandes du récap, regroupées par thème, mises à jour pour RHEL 9 (commandes obsolètes corrigées et marquées).


Fichiers & navigation

pwd                  # Affiche le répertoire courant
cd /etc              # Change de répertoire
ls -lah              # Liste fichiers/dossiers (détaillé, cachés, tailles lisibles)
mkdir -p a/b/c       # Crée un (des) répertoire(s) ; -p = arborescence complète
rmdir vide/          # Supprime un répertoire VIDE (le récap disait "make" par erreur)
rm -rf dossier/      # Supprime fichier ou répertoire (récursif/forcé) 🚨 irréversible
cp -r src/ dst/      # Copie fichiers ou répertoires (-r pour récursif)
mv ancien nouveau    # Déplace ou renomme un fichier/répertoire
touch fichier        # Crée un fichier vide / met à jour la date
ln    cible lien     # Crée un lien physique (hard link)
ln -s cible lien     # Crée un lien symbolique (soft link)
stat fichier         # État détaillé du fichier (inode, dates, contexte SELinux)
find / -name "*.log" # Recherche fichiers/dossiers (temps réel, puissant)
locate motif         # Recherche via base d'index (updatedb) — plus rapide mais pas temps réel
which ls             # Chemin complet d'une commande du PATH

Lecture & traitement de texte

cat fichier          # Affiche tout le contenu
more fichier         # Affiche page par page (avant seulement)
less fichier         # Pagination avancée (avant/arrière) — l'inverse de more
head -n 10 fichier   # 10 premières lignes
tail -n 10 fichier   # 10 dernières lignes ; tail -f pour suivre en direct
grep "motif" fic     # Recherche un mot-clé dans un fichier
sed 's/a/b/g' fic    # Substitue / édite du texte (flux)
awk '{print $2}' fic # Affiche par champ (colonnes)
cut -d: -f1 /etc/passwd  # Découpe par caractères ou champs
sort fichier         # Trie la sortie
uniq                 # Supprime les doublons (lignes consécutives → souvent après sort)
wc -l fichier        # Compte lignes / mots / caractères
tee fichier          # Lit l'entrée et écrit à la fois à l'écran ET dans un fichier
split -b 10M gros    # Découpe un gros fichier en morceaux
diff f1 f2           # Compare deux fichiers ligne par ligne
cmp f1 f2            # Compare deux fichiers octet par octet
echo "texte"         # Affiche du texte à l'écran
vi fichier           # Éditeur vi/vim

Redirections & pipes

commande | autre     # Pipe : envoie la sortie d'une commande vers une autre
commande > fic       # Redirige la sortie (écrase le fichier)
commande >> fic      # Redirige la sortie (ajoute à la fin)

Utilisateurs, Groupes & Permissions

id user              # Infos utilisateur (uid, gid, groupes)
whoami               # Affiche l'utilisateur courant
who                  # Qui est connecté
w                    # Qui est connecté ET ce qu'ils font
users                # Noms des utilisateurs connectés
last                 # Derniers utilisateurs connectés
su -                 # Bascule vers un autre utilisateur (- = shell de login)
sudo commande        # Exécute une commande en tant qu'un autre user (souvent root)
useradd -m -s /bin/bash bob   # Crée un utilisateur (-m crée le home)
usermod -aG wheel bob         # Modifie un user (ex: -aG = ajout à un groupe secondaire)
userdel -r bob                # Supprime un user (-r supprime aussi le home)
passwd bob                    # Change le mot de passe
chage -l bob                  # Gère l'expiration / attributs du mot de passe
groupadd devs                 # Crée un groupe
groupdel devs                 # Supprime un groupe
chmod 750 fichier    # Change les permissions (rwxr-x---)
chown user fichier   # Change le propriétaire
chgrp grp fichier    # Change le groupe propriétaire
chown user:grp fic   # Propriétaire + groupe en une fois
Permission Octal Lettre
read 4 r
write 2 w
execute 1 x

Processus & priorités

ps aux               # Liste tous les processus en cours
top                  # Ressources système en temps réel
kill <PID>           # Tue un processus par son ID
pkill nom            # Tue un processus par son nom
nice -n 10 cmd       # Lance un processus avec une priorité (niceness)
bg                   # Reprend un job en arrière-plan
fg                   # Ramène un job au premier plan
nohup cmd &          # Lance une commande insensible à la fermeture du terminal
free -h              # Mémoire et swap utilisées
uptime               # Uptime + charge système (load average)
iostat               # Statistiques entrées/sorties (paquet sysstat)

Services & cibles (systemd)

systemctl start|stop|restart sshd   # Démarre/arrête/redémarre un service
systemctl enable --now sshd         # Active au boot + démarre maintenant
systemctl status sshd               # État d'un service
systemctl get-default               # Cible (target) par défaut
systemctl isolate multi-user.target # Change de cible à chaud (ex-runlevels)

🚨 Déprécié RHEL 9 :

  • init <n> (runlevels) → utiliser systemctl isolate <target> / systemctl set-default.
  • Anciens runlevels → targets : multi-user.target (≈3), graphical.target (≈5).

Logiciels (paquets & dépôts)

dnf install httpd          # Installe un paquet (RHEL 9)
dnf remove httpd           # Désinstalle
dnf update                 # Met à jour les paquets
dnf search motif           # Recherche un paquet

🚨 Déprécié : yumdnf sur RHEL 8/9 (yum reste un alias vers dnf).

rpm -qa                    # Liste tous les paquets installés
rpm -ql httpd              # Liste les fichiers d'un paquet
rpm -qf /chemin/fichier    # Quel paquet fournit ce fichier
createrepo /repo/          # Crée un dépôt local (métadonnées)

Disques, LVM & systèmes de fichiers

Disques & partitions

fdisk -l             # Affiche les disques et partitions
df -h                # Espace disque des systèmes de fichiers montés
du -sh dossier/      # Espace occupé par un dossier

LVM (Logical Volume Manager)

pvcreate /dev/sdb1   # Crée un volume physique (PV)
pvdisplay            # Détaille les PV
pvs                  # Résumé des PV
vgcreate vg0 /dev/sdb1   # Crée un groupe de volumes (VG)
vgdisplay            # Détaille les VG
lvcreate -L 5G -n lv0 vg0  # Crée un volume logique (LV)
lvdisplay            # Détaille les LV

Systèmes de fichiers & montage

mkfs.xfs /dev/vg0/lv0   # Crée un système de fichiers XFS
mount /dev/vg0/lv0 /mnt # Monte un système de fichiers
umount /mnt             # Démonte
fsck /dev/sdb1          # Vérifie/répare un FS (à froid, démonté)
xfs_repair /dev/sdb1    # Répare un FS XFS
xfs_growfs /mnt         # Agrandit un FS XFS (à chaud)

🚨 Piège fstab : après édition de /etc/fstab, faire mount -a pour tester AVANT de rebooter — une erreur peut empêcher le système de démarrer.

Swap

mkswap /dev/sdb2     # Prépare une partition swap
swapon /dev/sdb2     # Active le swap
swapoff /dev/sdb2    # Désactive le swap

Réseau

ip addr              # Affiche les interfaces/adresses (remplace ifconfig)
ip link set eth0 up  # Active une interface
ip link set eth0 down  # Désactive une interface
hostname             # Affiche le nom d'hôte
hostnamectl set-hostname srv1   # Gère le nom d'hôte (persistant)
ping host            # Teste la joignabilité d'un hôte distant
traceroute host      # Trace la route réseau
ethtool eth0         # Infos / paramètres de la carte réseau
tcpdump -i eth0      # Capture le trafic entrant/sortant
ss -tulpn            # État des sockets/ports (remplace netstat)
dig example.com      # Requête DNS (utilitaire recommandé)
modprobe bonding     # Charge/décharge un module noyau (ex: bonding NIC)

🚨 Déprécié RHEL 9 (paquet net-tools) :

  • ifconfigip addr / nmcli
  • ifup / ifdownnmcli con up/down ou ip link set
  • netstatss
  • nslookupdig (nslookup encore présent mais dig préféré)
  • iptablesfirewall-cmd / nftables

Firewall

firewall-cmd --state                              # État du pare-feu
firewall-cmd --add-service=http --permanent       # Ouvre un service (persistant)
firewall-cmd --add-port=8080/tcp --permanent      # Ouvre un port (persistant)
firewall-cmd --reload                             # Recharge la config
firewall-config                                   # Interface graphique du pare-feu

🚨 Piège firewalld : --permanent n'agit qu'au prochain reload/reboot. Pour appliquer ET garder : ajouter avec --permanent puis firewall-cmd --reload (ou faire la commande deux fois, avec et sans --permanent).

Transfert & accès distant

ssh user@host        # Connexion distante sécurisée
scp fic user@host:/  # Copie de fichiers (sécurisé, basé SSH)
rsync -av src/ user@host:/dst/   # Copie/synchro efficace (incrémentale)
sftp user@host       # Transfert de fichiers sécurisé (préférer à ftp)
curl -O http://...   # Transfère des données / teste un serveur
wget http://...      # Télécharge depuis le réseau

🚨 Insecure / déprécié : telnet, ftp (texte en clair) → utiliser ssh, sftp/scp.


SELinux

sestatus             # État global de SELinux (mode, policy)
getenforce           # Mode courant (Enforcing/Permissive/Disabled)
ls -Z fichier        # Affiche le contexte SELinux d'un fichier
stat fichier         # État du fichier (inclut le contexte SELinux)

Date, heure & synchronisation

date                 # Affiche / règle la date et l'heure
cal                  # Calendrier
chronyc sources      # Statut de la synchro de temps (chronyd, NTP moderne)
timedatectl          # Gère date/heure/fuseau (recommandé RHEL 9)

🚨 Déprécié : ntpq (service ntpd) → chronyc / chronyd est le service NTP par défaut sous RHEL 7+.


Planification des tâches

crontab -e           # Édite les tâches planifiées de l'utilisateur
crontab -l           # Liste les tâches cron
at 14:00             # Planifie une tâche ponctuelle (one-shot)

Sous RHEL 9, on peut aussi utiliser les systemd timers (systemctl list-timers) en alternative à cron.


Arrêt & redémarrage

shutdown -h now      # Arrête le système (proprement)
shutdown -r now      # Redémarre proprement
reboot               # Redémarre le système
halt                 # Arrête immédiatement (sans extinction propre)

🚨 Préférer systemctl poweroff / systemctl reboot ; halt n'éteint pas forcément l'alimentation.


Scripting (Bash)

bash                 # Lance le shell Bash
sh                   # Lance le shell (sh)
alias ll='ls -lah'   # Crée un raccourci de commande
read var             # Lit une saisie utilisateur dans un script
case ... esac        # Branche selon plusieurs options

Mots-clés de structures (toujours par paires) :

if [ ... ]; then ... else ... fi        # Condition (if / then / else / fi)
for i in ...; do ... done               # Boucle for (for / do / done)
while [ ... ]; do ... done              # Boucle while (while / do / done)
Mot-clé Sert à
if / fi Ouvre / ferme une condition
then / else Branches d'une condition
for / while Boucles
do / done Délimitent le corps d'une boucle
case / esac Aiguillage multi-options

Infos système & matériel

uname -a             # Infos noyau / système
arch                 # Architecture (32 ou 64 bits)
hostname             # Nom de la machine
dmesg                # Messages du noyau (ring buffer)
dmidecode            # Infos matérielles (BIOS, RAM, CPU...)
sosreport            # Collecte un rapport de diagnostic pour le support

RHEL 9 : sosreport est remplacé par la commande sos report (même outil).


Compression & archives

tar -cvf arch.tar dossier/   # Crée une archive (plusieurs fichiers → conteneur)
tar -xvf arch.tar            # Extrait une archive
gzip fichier                 # Compresse (→ fichier.gz)
gunzip fichier.gz            # Décompresse un .gz

Note : dans le récap, gunzip était décrit comme "compress" — c'est en réalité la décompression.


Divers & utilitaires terminal

clear                # Efface l'écran
history              # Historique des commandes
exit                 # Quitte le terminal
script session.log   # Enregistre l'activité du terminal
bc                   # Calculatrice en ligne de commande
dd if=src of=dst     # Copie/convertit bloc à bloc (images disque) 🚨 destructif

Aide & documentation

man commande         # Manuel complet d'une commande
commande --help      # Aide rapide d'une commande
whatis commande      # Description courte

Communication

wall "message"            # Message à tous les terminaux connectés
write user                # Message à un utilisateur précis
mail user / sendmail      # Envoi de courrier local

⚠️ Récap des commandes obsolètes → RHEL 9

Obsolète (récap) Remplaçant RHEL 9
yum dnf
ifconfig ip addr / nmcli
ifup / ifdown nmcli con up/down
netstat ss
nslookup dig
iptables firewall-cmd / nftables
init <runlevel> systemctl isolate <target>
service / chkconfig* systemctl / systemctl enable
ntpq (ntpd) chronyc (chronyd)
telnet / ftp ssh / sftp / scp
sosreport sos report

* service/chkconfig non listés dans le récap mais cités pour mémoire (équivalents systemctl).