Dossier vide
Le dossier est-il réellement vide ?
Impact décision : rmdir refuse si un fichier reste présent.
Supprimer un dossier sous Linux paraît banal jusqu’au moment où la commande vise le mauvais chemin. Entre rmdir, rm -r, rm -i et le très risqué rm -rf, la différence n’est pas cosmétique : elle décide si le terminal refuse prudemment ou efface sans poser beaucoup de questions.
L’objectif ici est simple : choisir la bonne commande selon le cas, vérifier le dossier ciblé, puis supprimer proprement sans transformer une maintenance rapide en incident de production.
Pour linux remove directory, la commande dépend du contenu. Si le dossier est vide, utilisez rmdir dossier. S’il contient des fichiers ou sous-dossiers, utilisez rm -r dossier. Avant de valider, vérifiez toujours le chemin courant avec pwd et affichez le contenu avec ls.
La logique est volontairement stricte. rmdir échoue si le dossier n’est pas vide, ce qui en fait le choix le plus sûr pour nettoyer une arborescence déjà contrôlée. rm -r, lui, descend dans les sous-dossiers et supprime tout ce qu’il rencontre dans la cible.
| Situation | Commande adaptée | Pourquoi |
|---|---|---|
| Dossier vide | rmdir dossier | La commande refuse si quelque chose reste dedans. |
| Dossier non vide | rm -r dossier | La suppression devient récursive. |
| Doute sur le contenu | rm -ri dossier | Le terminal demande confirmation. |
| Nettoyage automatisé | Script testé sur chemin absolu | Le risque vient souvent d’une variable ou d’un dossier courant inattendu. |
Le piège classique n’est pas la syntaxe, mais le mauvais emplacement. Avant de supprimer, placez-vous dans le bon répertoire et vérifiez ce que vous voyez. Une commande simple suffit souvent.
pwd
ls -la
ls -la nom-du-dossier
pwd affiche le dossier courant. ls -la montre aussi les fichiers cachés, ceux qui commencent par un point. C’est important, car un dossier peut sembler vide dans une vue rapide alors qu’il contient encore .env, .cache, .git ou un fichier de configuration discret.
Si vous travaillez sur un serveur, prenez une seconde de plus pour vérifier le chemin absolu. Entre /var/www/site/cache et /var/www/site, une faute de frappe peut faire une vraie différence.
Pour un dossier vide, rmdir est la commande la plus lisible. Elle dit exactement ce qu’elle fait : retirer un répertoire, mais seulement s’il ne contient plus rien.
Pour approfondir ce point, consultez linux lightweight, qui traite plus précisément de choisir un linux lightweight sans sacrifier le confort.
rmdir ancien-dossier
Si Linux répond que le dossier n’est pas vide, ce n’est pas un bug. C’est une protection utile. Affichez les fichiers cachés, vérifiez les sous-dossiers, puis choisissez si vous devez vider le dossier à la main ou passer à une suppression récursive.
Vous pouvez aussi supprimer plusieurs dossiers vides en une seule commande, à condition que chaque cible soit bien identifiée.
rmdir dossier-1 dossier-2 dossier-3
rmdir refuse, ne sautez pas directement sur rm -rf. Regardez d’abord ce qui reste dedans.Quand le dossier contient encore des fichiers, la commande attendue est rm -r. L’option -r signifie récursif : Linux supprime la cible, son contenu, ses sous-dossiers et les fichiers placés plus bas dans l’arborescence. C’est le cas typique du dossier non vide.
rm -r ancien-dossier
Cette commande est efficace, mais elle mérite une vraie vérification. En ligne de commande, il n’y a pas toujours de corbeille ni d’annulation simple. Sur un poste de travail, certains environnements graphiques déplacent vers la corbeille ; dans le terminal, rm supprime directement selon le système et le contexte.
Pour réduire le risque, ajoutez -i. Le terminal demandera une confirmation pour les éléments concernés. C’est plus lent, mais très utile quand vous nettoyez un dossier dont vous ne maîtrisez pas entièrement le contenu. Cette confirmation interactive vaut mieux qu’un regret tardif.
rm -ri ancien-dossier
Sur un gros dossier, cette méthode devient pénible. Dans ce cas, utilisez-la d’abord sur un échantillon, ou listez ce qui sera visé avec find avant de lancer la suppression définitive.
find ancien-dossier -maxdepth 2 -type f | head
rm -rf combine deux comportements : -r supprime récursivement, -f force sans demander confirmation dans de nombreux cas. C’est pratique dans un script proprement testé. C’est aussi la commande qui pardonne le moins quand la cible est mal construite.
Le danger augmente avec les variables, les jokers et les chemins relatifs. Une variable vide, un espace oublié ou un dossier courant inattendu peuvent élargir la cible. C’est précisément le genre d’erreur qui transforme une commande de nettoyage en suppression massive.
Si vous devez utiliser rm -rf, vérifiez le chemin en amont et écrivez la commande de manière explicite. Sur un serveur, ne lancez pas ce type d’ordre depuis un dossier sensible sans relire la cible.
target="/var/www/mon-site/cache"
echo "$target"
rm -rf -- "$target"
Le -- marque la fin des options. Ce n’est pas magique, mais c’est utile lorsqu’un nom de fichier commence par un tiret. Là encore, la vraie sécurité vient d’un chemin vérifié, pas d’une option ajoutée à la dernière minute.
La première erreur consiste à supprimer depuis le mauvais dossier. Une cible relative comme rm -r cache dépend de l’endroit où vous êtes. Si vous changez de terminal, de script ou de session SSH, ce contexte peut ne plus être celui que vous imaginez.
La deuxième erreur est d’utiliser un joker trop large. rm -r * peut sembler pratique pour vider un dossier, mais il ne traite pas forcément les fichiers cachés et peut viser plus large que prévu selon le contexte. Pour un nettoyage propre, mieux vaut cibler le dossier lui-même après vérification.
La troisième erreur est de confondre permission refusée et dossier impossible à supprimer. Si Linux refuse, regardez le propriétaire, les droits et les processus qui utilisent encore les fichiers. Passer immédiatement en sudo rm -rf ajoute un niveau de risque supplémentaire.
La bonne commande dépend du contenu, du niveau de confiance et du contexte serveur ou poste local.
Le dossier est-il réellement vide ?
Impact décision : rmdir refuse si un fichier reste présent.
Faut-il supprimer tout le contenu ?
Impact décision : rm -r descend dans l’arborescence.
Avez-vous un doute sur les fichiers ?
Impact décision : rm -ri demande confirmation.
Sur un serveur, la suppression d’un dossier touche souvent des caches, des exports, des dépôts, des sauvegardes temporaires ou des fichiers générés par une application. Le bon réflexe est de vérifier à la fois le chemin, le contenu et le besoin réel.
Dans un contexte professionnel, je préfère une séquence sobre : afficher le dossier, lister deux niveaux, confirmer que l’application ne l’utilise plus, puis supprimer. Cette méthode prend moins d’une minute et évite beaucoup d’incidents.
pwd
ls -la /chemin/du/dossier
find /chemin/du/dossier -maxdepth 2 | head
rm -r /chemin/du/dossier
Si la suppression fait partie d’un script, testez d’abord la valeur de la variable et journalisez la cible. Le plus important est de ne jamais laisser une commande destructive dépendre d’une variable silencieusement vide.
Un refus peut venir d’un dossier non vide, d’un fichier caché, de droits insuffisants, d’un fichier utilisé ou d’un système de fichiers monté en lecture seule. Le message d’erreur donne souvent la bonne piste. Il faut le lire avant de forcer, surtout en cas de permissions refusées.
Si le dossier n’est pas vide, revenez à ls -la. Si le problème vient des droits, vérifiez le propriétaire avec ls -ld dossier. Si vous êtes sur un serveur partagé ou une machine d’entreprise, évitez d’ajouter sudo par réflexe : le problème peut être organisationnel, pas seulement technique.
La bonne commande est celle qui supprime exactement la cible attendue, pas celle qui passe à tout prix.
rmdir nom-du-dossier si le dossier est vide. S’il contient des fichiers ou sous-dossiers, utilisez rm -r nom-du-dossier après avoir vérifié le chemin et le contenu.rmdir retire uniquement un répertoire vide. rm -r supprime récursivement un dossier avec ses fichiers et sous-dossiers.rm -r dossier. Si vous avez un doute, préférez rm -ri dossier pour demander confirmation avant les suppressions.rm -rf force une suppression récursive et demande peu ou pas de confirmations. Une cible mal écrite, une variable vide ou un mauvais dossier courant peuvent provoquer une suppression beaucoup trop large.sudo rm -r augmente fortement l’impact d’une erreur.À lire aussi
Recevez des analyses concrètes sur vos enjeux métiers et opérationnels, avec des exemples, des points de vigilance et des décisions à prioriser.
Aucun spam. Désinscription en un clic.