Commande rm sous Linux : l'option rm -rf et supprimer sans confirmation

Mention d'affiliation v3.1
Mention d'affiliation v3.2 (mobile)
Environnement de testFamille RHELAlmaLinux 9.8Compte rootVérifié le 2026-10-05

Avec la commande rm, les fichiers supprimés disparaissent aussitôt, sans passer par une corbeille. rm, abréviation de remove, supprime des fichiers et des répertoires ; cet article présente l'utilisation de base, les options et la raison pour laquelle le répertoire racine reste en place même après [rm -rf /].

Sous AlmaLinux 9.8, le compte root a par défaut [alias rm=’rm -i’] : une confirmation est demandée avant chaque suppression. Pour les systèmes Linux sans ce réglage, l'article montre aussi comment ajouter l'alias vous-même.

✅ Utilisation de base

La syntaxe de base est la suivante.

rm -options À supprimer : Fichier ou Répertoire
Avec la commande rm

Un fichier se supprime avec son seul nom ; un répertoire ne se supprime qu'avec l'option -r.

# Supprimer un fichier
rm file1
# Supprimer plusieurs fichiers
rm file1 file2
# Supprimer un répertoire et son contenu
rm -r dir1/
# Supprimer un répertoire vide
rm -d dir1/
~]# rm dir1/
rm: cannot remove 'dir1/': Is a directory

Sans option, un répertoire indiqué n'est pas supprimé, comme ci-dessus.

Supprimer un lien symbolique n'efface que le lien : le fichier vers lequel il pointe reste en place. Pour vérifier avant et après la suppression, utilisez aussi la commande ls.

✅ rm -rf : supprimer sans confirmation

Quand vous lancez la commande rm, [remove regular file] vous est demandé, car pour le compte root, rm s'exécute via l'alias [rm -i].

~]# rm file1
rm: remove regular file 'file1'? y
~]# alias rm
alias rm='rm -i'

Supprimer un répertoire avec -r déclenche une confirmation à l'entrée de chaque répertoire et pour chaque fichier : plus il y a de fichiers, plus c'est fastidieux.

~]# rm -r logs/
rm: descend into directory 'logs/'? y
rm: remove regular file 'logs/access.log'? y
rm: remove regular empty file 'logs/error.log'? y
rm: remove directory 'logs/'? y

Dans ce cas, ajoutez aussi l'option -f : la suppression se fait sans confirmation, et un fichier inexistant ne provoque pas d'erreur.

rm -rf logs/

Placer une barre oblique inverse [\] devant la commande pour contourner l'alias, ou [yes |] devant pour répondre y à chaque confirmation, donne le même résultat.

\rm -r logs/
yes | rm -r logs/

✅ Options de la commande rm & simulateur

OptionDescription
-f--forceSupprime sans confirmation, sans erreur pour un fichier inexistant
-iDemande confirmation à l'utilisateur avant chaque suppressionalias rm='rm -i'
-I(i majuscule)Ne demande qu'une fois, pour 4 fichiers ou plus ou avec -r
-r, -R--recursiveSupprime le répertoire avec ses sous-répertoires et ses fichiers
-d--dirSupprime un répertoire vide
-v--verboseAffiche chaque fichier et répertoire supprimé sur une ligne
--preserve-rootNe supprime pas le répertoire racine (/) (par défaut)
--no-preserve-rootLève la protection du répertoire racine (/)
Simulateur de commandes rmalias rm='rm -i'
[root@server work]#
Fonctionne uniquement dans votre navigateur et ne touche à aucun vrai fichier. Tapez rm en changeant les options, puis vérifiez le résultat avec ls et cat. Les fichiers supprimés reviennent avec [Recommencer]. Les flèches ↑↓ du clavier rappellent les commandes précédentes, et uknew help affiche les commandes disponibles.

✅ rm -rf / : protection du répertoire racine

Dans le travail d'hébergement, il arrive de supprimer des fichiers qu'il ne fallait pas. La plupart se récupèrent depuis une sauvegarde, mais si le répertoire racine est effacé, la restauration est pénible même avec un instantané. J'ai entendu plusieurs fois parler de cas où un rm -rf lancé par erreur n'a pas pu être rattrapé.

Avec la commande rm, l'option [-⁠-preserve-root] est active par défaut : le répertoire racine n'est pas supprimé, même avec [rm -rf /].

~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe

En revanche, elle n'empêche pas [rm -rf /*]. Le shell remplace [/*] par les noms de répertoires comme /bin, /etc ou /home avant de les transmettre, et rm supprime alors chacun de ces répertoires au lieu de [/].

Après l'installation d'AlmaLinux 9.8, [/root/.bashrc] contient les alias -i de rm, cp et mv, comme ci-dessous. Les comptes utilisateur ordinaires n'ont pas ces alias.

~]# grep alias /root/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Sur un compte ou un système Linux sans cet alias, ajoutez une ligne tout en bas de [~/.bashrc] et rechargez le fichier.

# Ajouter tout en bas de ~/.bashrc
alias rm='rm -i'
# Recharger
source ~/.bashrc
Linux Free Software

ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.