Aller au contenu principal
50 % de réduction toutes les offres, durée limitée. À partir de $2.48/mo
12 min left
Serveurs et OS

Comment supprimer un répertoire sous Linux en toute sécurité : rmdir, rm -r, find

Nick Silver Par Nick Silver 12 min de lecture Mis à jour le Sep 22, 2025
A lone ultrareal laptop at 3/4 angle on a wet surface; screen shows two crisp terminal lines: ls -ld -- '$DIR' rm -I -r -- '$DIR' From the right-side port, a cyan/magenta holographic ribbon curves out to a manila folder floating to the right of the laptop; the folder’s right half frays into fine paper dust mid-air. BR2049 lighting, UV rim, subtle rain specks, sodium-amber haze + single low skyline only.

Avec le bon outil, supprimer des dossiers sur Linux devient un jeu d'enfant. Utilisez rmdir pour les chemins vides, rm -r pour les répertoires qui contiennent encore des fichiers, et trouvez quand vous voulez uniquement vider le contenu. Voici comment supprimer un répertoire dans Linux, avec des comportements sûrs par défaut, des vérifications rapides et des solutions aux erreurs courantes. Si vous êtes pressé, consultez le tableau récapitulatif, puis lisez la suite pour les précautions à prendre.

 

 

Récapitulatif des commandes : copiez, collez, avancez

Avant d'entrer dans les détails, voici les opérations les plus courantes en un seul coup d'œil. Copiez la commande dans la colonne du milieu, puis appliquez la remarque correspondante.

Tâche Commande la plus sûre Options ou remarques
Supprimer un répertoire vide rmdir RÈPERTOIRE or rm -d DIR Ajouter la directive -p pour supprimer les répertoires parents s'ils deviennent vides.
Supprimer un répertoire non vide avec une confirmation rm -I -r DIR Bon compromis entre rapidité et sécurité.
Supprimer un répertoire non vide sans confirmation rm -rf — DIR Vérifiez avec ls -ld — DIR avant de l'exécuter.
Conserver le dossier parent, vider le contenu find DIR -mindepth 1 -delete Gère aussi les fichiers et dossiers cachés.
Supprimer uniquement les répertoires vides chercher DIR -type d -empty -delete Un nettoyage rapide après les déploiements.
Supprimer par motif de nom find DIR -type d -name 'cache*' -prune -exec rm -rf {} + Efficace sur les arborescences volumineuses.

Gardez cet aide-mémoire à portée de main pendant que vous apprenez à supprimer un répertoire dans Linux. 

Supprimer les répertoires vides avec rmdir or rm -d

Ultrareal steel file-cabinet drawer pulled fully open, rails and felt pads visible, absolutely empty. Tiny embossed stickers on the front: RMDIR and EMPTY. A soft sodium-amber haze drifts behind a faint skyline silhouette; cyan signage glints along the brushed metal lip; micromotes and hairline scratches read true.

Répertoires vides représentent le cas sans risque. Si vous n'avez besoin de supprimer qu'une feuille, rmdir fait exactement cela ; si vous préférez rester sur rm, puis utilisez rm -d pour le même résultat. Les deux commandes s'arrêtent sur des chemins non vides, ce qui offre aux débutants qui apprennent à supprimer un répertoire dans le terminal une protection utile.

  • rmdir PROJECT/tmp supprime un dossier vide et se termine silencieusement quand celui-ci n'existe plus.
  • rmdir -p foo/bar/baz supprime le chemin puis les répertoires parents si chacun devient vide, en nettoyant l'arborescence en une seule passe.
  • rm -d empty_folder supprime uniquement si le répertoire est vide, l'équivalent de rmdir pour ceux qui travaillent sur rm.
  • rmdir --ignore-fail-on-non-empty DIR masque le message d'erreur « not empty » dans les scripts où la verbosité est indésirable.
  • Ajouter la directive -v pour les retours, par exemple, rmdir -pv foo/bar/baz.

Un problème courant lorsqu'on essaie de supprimer un répertoire dans Linux est que si le dossier contient encore des fichiers, rmdir refuse de s'exécuter. C'est le signal de passer à la suppression récursive. 

À lire aussi : Se connecter au serveur Linux avec XRDP

Supprimer des répertoires non vides avec rm

Ultrareal industrial paper shredder as the single hero; mouth loaded with multiple manila folders and dividers. The folders are clearly stuffed with paper. A tiny metal badge on the front reads RM -R; a small hazard triangle beside it reads FORCE.

La suppression récursive, c'est rm -r or rm -rf. Le compromis est, en gros, vitesse contre confirmations. Ceux qui apprennent à supprimer des répertoires non vides dans Linux commencent par rm -r et ajoutez une invite. Les équipes qui automatisent ajoutent -f après avoir verrouillé les vérifications de chemin.

Commencez par les patterns qui vous évitent les mauvaises surprises :

  • Invite unique : rm -I -r DIR demande une confirmation avant de descendre dans l'arborescence, plus adapté que -i sur les arborescences volumineuses.
  • Invite à chaque étape : rm -ri DIR est lent, mais utile sur les petites arborescences quand vous voulez voir chaque étape.
  • Forcer et récurer : rm -rf DIR ignore les invites et la plupart des erreurs ; vérifiez avec pwd, ls -ld — DIR, et un echo "$DIR" avant d'appuyer sur Entrée.
  • Mode verbeux : -v affiche chaque chemin supprimé, par exemple, rm -rfv build/.
  • Protection contre la racine et les points de montage : les systèmes modernes bloquent rm -rf / par –preserve-root; dans les scripts, ajoutez –un-seul-système-de-fichiers pour ne pas franchir les points de montage.

Avant toute suppression forcée sur une machine en production, prenez trente secondes pour vérifier la cible. Affichez-la avec ls -ld — "$DIR", puis vérifiez les guillemets et les globs. La bonne façon d'apprendre à supprimer un répertoire dans Linux est de commencer par -I d'abord, puis de répéter sans interaction. Des vérifications calmes, des habitudes reproductibles.

linux-vps L'hébergement Linux, simplifié

Envie d'une meilleure façon d'héberger vos sites et apps web ? Vous développez du neuf ? Vous n'aimez pas Windows ? C'est pour ça que nous avons Linux VPS.

Obtenez votre Linux VPS

Noms inhabituels, tirets en début de nom et autres pièges

A stretch of caution tape pulled taut across frame, ultrareal vinyl texture with subtle wrinkles. Black print repeats -TMP at intervals after each CAUTION.

Certains chemins commencent par un tiret ou contiennent des octets qui perturbent l'analyse. Passez un pour arrêter l'analyse des options, ou ajoutez ./ devant le nom.

Méthodes sûres pour cibler des noms inhabituels:

rm -r -- --weird
rm -r ./-cache

Ces petites habitudes rendent la suppression d'un répertoire dans Linux bien moins stressante sur les serveurs partagés et les sessions distantes. Si vous souhaitez conserver le répertoire parent mais supprimer son contenu, passez aux commandes avec gestion de la profondeur ; c'est la prochaine étape de notre guide Comment supprimer un répertoire dans Linux.

Conserver le dossier, vider son contenu

Ultrareal manila folder with a small bottom trapdoor built into the tab-side corner, hinged and slightly open so a faint stream of holographic “file shards” falls away. Etched on the tab: FIND and MIND1 (for -mindepth 1)

Beaucoup de tâches nécessitent un répertoire vide plutôt qu'un répertoire absent. Rotation des journaux, pipelines de build, maintenance VPS. Deux approches couvrent la suppression de tous les fichiers d'un répertoire dans Linux en laissant le répertoire parent intact.

  • Ignorer le parent avec trouvez:
find /var/tmp/app -mindepth 1 -delete
  • Ou exécuter rm sur des lots :
find ./cache -mindepth 1 -exec rm -rf {} +

Les deux gèrent les entrées cachées (dotfiles inclus), ce que une simple commande rm * ne fait pas. Si vous cherchiez à supprimer tous les fichiers d'un répertoire dans Linux, c'est la méthode fiable.

Les commandes en une ligne aident, mais beaucoup d'équipes ont besoin de filtres par nom ou par profondeur. C'est là que trouvez vous donne une portée précise, sans approximation.

À lire aussi : Lister les services actifs sur Linux

Suppressions ciblées avec trouvez : noms, profondeur, exclusions

Vous pouvez vouloir supprimer uniquement les arborescences de cache, uniquement les dossiers de build du premier niveau, ou uniquement les journaux archivés. Voici un ensemble compact de patterns pour les tâches trouver supprimer répertoire .

Tâche Aperçu des commandes Remarques
Supprimer uniquement les cache*/ répertoires sous le projet find . -type d -name 'cache*' -prune -exec rm -rf {} + -prune évite de descendre dans les correspondances ; plus rapide sur les arborescences volumineuses.
Supprimer des répertoires par profondeur find ./dist -mindepth 1 -maxdepth 1 -type d -exec rm -rf {} + Cible uniquement les enfants de premier niveau sous dist/.
Supprimer uniquement les répertoires vides trouve . -type d -vide -supprimer Un nettoyage rapide après les déploiements.
Supprimer les fichiers correspondant à un motif find logs -type f -name '*.gz' -delete Les logs récents ne sont pas touchés.
Tout supprimer en conservant le répertoire parent find /data/tmp -mindepth 1 -delete Les services continuent d'utiliser le répertoire parent.

Utilisez -print pour un test à blanc, puis retirez-la pour l'exécution réelle. C'est l'aspect pratique de la suppression de répertoires sur Linux : périmètre prévisible et exécution rapide. Gotcha, sur certaines versions minimales de BusyBox, l'action -delete est absente ; utilisez -exec rm -rf {} + à la place.

Ces pratiques vous emmènent loin. Ajoutez quelques garde-fous pour éviter les rares erreurs coûteuses.

Les garde-fous qui vous protègent de vous-même

An ultrareal lockout/tagout padlock + hasp assembly as the lone hero, brushed steel and scuffed red enamel, bead of condensation on the shackle; a fiber safety tag hangs from the hasp with three bold engravings: RM -I, ONE FS, PRESERVE ROOT.

Les commandes puissantes méritent des réglages prudents par défaut. Adoptez ces bonnes pratiques pour que la suppression d'un répertoire dans Linux ne vous coûte pas aussi votre tranquillité d'esprit.

  • Préférez une seule invite avec rm -I -r DIR le temps de vérifier le chemin à l'écran.
  • Mettez toujours les chemins entre guillemets : rm -rf — "$DIR" protège contre les espaces, les globs et les noms commençant par un tiret.
  • Confirmez la cible exacte : ls -ld — "$DIR" affiche une ligne avec les permissions, le propriétaire et le chemin.
  • Rester dans un système de fichiers : rm -rf –one-file-system "$DIR" empêche de traverser vers des volumes montés.
  • Laissez la protection root activée, conservez –preserve-root en place.
  • Effacez le bit immuable si nécessaire : lsattr -d "$DIR" pour vérifier, chattr -i "$DIR" pour le retirer.

Si une suppression échoue toujours ou se bloque, parcourez les suspects habituels.

Exécutez vos tests de nettoyage sur un VPS Linux Cloudzy, puis continuez à construire

Ultrareal 1U rack server sits firmly on a cloud (cloud = VPS). A short SFP+ fiber patch links the server to an open laptop at 3/4 angle. On the laptop’s glassy terminal, two big stacked engravings: RM -I -R and ROLLBACK (toggle dot lit). On the rack face, small badges: NVME, 10 GBPS, DDR5.

Si vous voulez un serveur distant stable pour tester rm, rmdir, et trouvez en toute sécurité, démarrez Hébergement Linux VPS et travailler dans un shell propre. C'est abordable, rapide, et disponible dans 13 régions avec 11 distributions Linux prêt à l'emploi. Vous bénéficiez root, stockage NVMe SSD de stockage et DDR5 RAM sur les plans récents, plus Protection DDoS et un 99,95 % de disponibilité engagement. Une bande passante élevée et une faible latence font partie de l'offre, avec des connexions jusqu'à 10 Gbps indiqué sur les fiches de plan.

  • Présence mondiale: déployez dans plus de 12 emplacements, dont New York, Los Angeles, Miami, Amsterdam, Londres, l'Allemagne, la Suisse, Utah, Dallas, Las Vegas et Singapour, pour des routes plus rapides vers vos utilisateurs.
  • Accès root + 11 distributions: choisissez la Linux souhaitée et gardez le contrôle total dès le premier jour.
  • Matériel récent: le stockage NVMe SSD et la puissance DDR5 RAM alimentent les instances ; les performances restent au niveau lors des charges I/O intenses.
  • Réseau et disponibilité: une connectivité à faible latence, une bande passante élevée et un objectif de disponibilité de 99,95 % aident les tâches planifiées à s'exécuter dans les délais.
  • Sécurité: la protection DDoS est incluse sur tous les serveurs, ce qui réduit le risque d'interruption lors des maintenances courantes.
  • Simplicité: des options d'OS pré-installés, un IPv6 gratuit et plusieurs méthodes de paiement rendent la configuration directe.

Vous préférez un bureau complet ? Lors du paiement, choisissez l'application Linux RDP en un clic. Elle fournit une Linux VPS avec XRDP, GDM3, et la interface graphique GNOME pré-installée sur Ubuntu, vous pouvez donc vous y connecter à distance en un clic. Il fonctionne dans les mêmes 12 emplacements et conserve les 99,95 % de disponibilité cible. Il n'y a aucun frais supplémentaire pour la configuration RDP préinstallée.

En résumé : lancez un Linux VPS abordable, choisissez votre distribution, conservez l'accès root et, si besoin, ajoutez le bureau Linux RDP lors de l'achat. Entraînez-vous ensuite à supprimer des fichiers de façon interactive, prenez un snapshot, et recommencez jusqu'à maîtriser les commandes.

Dépannage : « Permission refusée », « Répertoire non vide », chemins occupés

A single ultrareal folder perched over a narrow chute (this chute symbolizes troubleshooting, so engrave it with a troubleshooting icon); inside it, smaller sub-folders and faint .dotfiles icons fade as they drop. Lip engravings top-to-bottom on the chute: SYMPTOM, CHECK, FIX; opposite side: NOT EMPTY, LOOK, FIND -DELETE.

La plupart des erreurs suivent quelques schémas récurrents. Utilisez ce flux symptôme → vérification → correction pour éviter qu'une suppression de répertoire dans Linux ne bloque votre déploiement.

1) « Permission denied » sur un répertoire qui vous appartient
Vérifiez les attributs avec lsattr -d DIR. Si le flag immutable i est activé, supprimez-le avec sudo chattr -i DIR, puis réessayez. Ce flag apparaît sur les systèmes renforcés et certains conteneurs.

2) « Operation not permitted » même avec sudo
Vérifiez que le montage n'est pas en lecture seule. mount | grep DIR or findmnt DIR indique l'état actuel. Remontez en lecture-écriture pour l'opération ou ciblez un autre chemin.

3) « Directory not empty » après rmdir
Des entrées sont encore présentes. Passez à :

find DIR -mindepth 1 -delete

Cela inclut les fichiers cachés et le contenu imbriqué.

4) Le service recrée le dossier
Un processus actif écrit dans ce chemin. Arrêtez-le ou redémarrez proprement, puis supprimez. Si l'environnement lui-même est défaillant, le guide sur systemctl : commande introuvable vous aide à résoudre ce problème en premier. Par exemple, nous avions Nginx qui écrivait dans /var/log/nginx/ sur un serveur de staging ; en arrêtant nginx.service vidé lsof, la suppression a réussi et les logs ont repris normalement.

5) « Device or resource busy »
Un processus conserve un descripteur ouvert sur le répertoire. lsof +D RÉP or fuser -vm RÉPERTOIRE indique ce qui est actif ; arrêtez-le proprement, puis supprimez. Pour un aperçu rapide des sockets avant de purger les logs, la commande Linux Commande Netstat couvre une vérification rapide.

6) Noms problématiques : espaces, sauts de ligne ou tiret en début de nom
Utilisez or ./ avant les noms commençant par un tiret, et mettez chaque chaîne entre guillemets. Pour nettoyer en masse des noms inhabituels, exécutez find . -print0 | xargs -0 afin que les espaces ne cassent jamais la commande.

Avec ces corrections, la plupart des obstacles disparaissent. Si vous ne souhaitez pas supprimer définitivement, utilisez plutôt la corbeille.

Corbeille plutôt que suppression : trash-cli et corbeille

Ultrareal blue desktop recycling bin (matte polymer with tiny injection marks, slot opening), a folded paper folder edge peeking at the slot. Etched along the lip: TRASH-CLI, TRASH. A small side badge glows RESTORE to suggest reversal.

Vous n'avez pas besoin de tout supprimer définitivement. Les environnements de bureau et les serveurs avec prise en charge de GLib proposent une corbeille pour pouvoir réviser et restaurer vos fichiers. Si vous apprenez à supprimer un répertoire dans Linux et souhaitez une approche prudente, essayez ces commandes :

  • gio trash CHEMIN déplace les fichiers et répertoires vers la corbeille ; gio list trash:// permet de parcourir la corbeille.
  • Avec trash-cli, puis utilisez corbeille PATH, trash-list, trash-restore, et trash-empty pour un flux de travail simple en ligne de commande.

Elle est plus lente que rm, mais la sécurité qu'elle apporte vaut le coup si vous voulez une étape de vérification supplémentaire. Donc, si vous cherchez à supprimer un répertoire dans Linux sans risquer vos données, commencez par trash, puis passez à rm.

Réflexions finales

Vous disposez maintenant d'un ensemble complet d'outils pour supprimer des répertoires dans Linux, notamment rmdir pour les chemins vides, rm -I -r pour une récursion sécurisée, rm -rf uniquement après avoir vérifié la cible, et find -mindepth 1 -delete quand vous devez vider un répertoire sans le supprimer. Mettez les chemins entre guillemets, conservez –preserve-root, restez sur un seul système de fichiers, et retirez l'attribut immuable s'il vous bloque ; les vérifications de dépannage s'occupent du reste.

Et n'oubliez pas : si vous avez besoin d'un serveur distant vierge pour pratiquer dans de vraies conditions, démarrez un Cloudzy Linux VPS serveur ; il est abordable et fiable pour des tests en toute sécurité, et avec notre Linux RDP en un clic vous obtenez aussi une session bureau pour effectuer vos suppressions dans une interface graphique complète.

 

Questions fréquemment posées

Quelle est la différence entre rm et rmdir ?

rmdir supprime uniquement les répertoires vides et peut supprimer les parents devenus vides avec -p. rm supprime fichiers et répertoires ; ajoutez -r pour la récursion et -I ou -i pour les confirmations.

Comment forcer la suppression d'un dossier et de tout son contenu ?

Utilisez rm -rf — DIR après avoir validé le chemin. Ajoutez -v si vous voulez un journal ligne par ligne. Certains administrateurs font encore un passage à vide avec rm -I -r avant l'exécution finale.

Comment supprimer le contenu d'un répertoire sans le supprimer lui-même ?

Exécutez find DIR -mindepth 1 -delete. Cette commande vide un répertoire sous Linux tout en conservant le dossier parent, ce qui est utile pour les services.

Pourquoi rmdir indique-t-il « Directory not empty » alors que je ne vois aucun fichier ?

Des fichiers cachés sont encore présents. Utilisez ls -A pour les afficher, puis appliquez le schéma find -mindepth 1 -delete.

Comment corriger « Operation not permitted » ou « Permission denied » ?

Vérifiez l'attribut immuable avec lsattr -d DIR et supprimez-le via sudo chattr -i DIR si nécessaire. Assurez-vous également que le point de montage n'est pas en lecture seule. Si un service recrée des chemins pendant le nettoyage, commencez par corriger le problème au niveau de l'unité — la section systemctl mentionnée plus haut peut vous aider.

Share

Plus d'articles du blog

Continuez la lecture.

Prêt à déployer ? À partir de 2,48 $/mois.

Cloud indépendant, depuis 2008. AMD EPYC, NVMe, 40 Gbps. Remboursement sous 14 jours.