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) → utilisersystemctl 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é : yum → dnf 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) :
ifconfig→ip addr/nmcliifup/ifdown→nmcli con up/downouip link setnetstat→ssnslookup→dig(nslookup encore présent mais dig préféré)iptables→firewall-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 :
sosreportest remplacé par la commandesos 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).