La commande rm supprime des entrées du système de fichiers. Une suppression en ligne de commande n'envoie normalement rien dans la corbeille du bureau et rm ne possède pas d'annulation intégrée : confirmez donc chaque cible avant l'exécution.
Ligne de Commande · Leçon 13
rm (Supprimer)
Apprenez à supprimer des fichiers et répertoires en vérifiant les cibles et en choisissant des options rm plus sûres.
Sa syntaxe élémentaire est :
rm [OPTIONS] FILE...
Supprimer des fichiers
Fournissez un ou plusieurs chemins de fichiers à rm :
$ rm file1
$ rm notes.txt old-report.txt draft.md
Vérifiez l'orthographe et l'emplacement avant d'appuyer sur Entrée. Une sauvegarde ou une copie sous contrôle de version offre une récupération plus fiable que les outils de restauration du système de fichiers après la suppression.
Après avoir confirmé la cible, quelle commande supprime le fichier old-report.txt ?
Prévisualiser les cibles d'un joker
Le shell peut développer un joker en plusieurs opérandes. Par exemple, *.tmp sélectionne les noms non cachés correspondants du répertoire actuel :
$ rm *.tmp
Avant toute suppression, prévisualisez le même motif non cité avec ls :
$ ls *.tmp
cache.tmp test.tmp
$ rm *.tmp
Le shell développe le motif avant le lancement de rm. Si la prévisualisation contient un fichier inattendu, corrigez le motif au lieu de poursuivre.
Vous prévoyez de supprimer *.tmp. Quelle commande affiche d'abord, sans les supprimer, les chemins non cachés sélectionnés ?
Demander une confirmation
L'option -i interroge avant chaque suppression :
$ rm -i important.txt
rm: remove regular file 'important.txt'? y
Avec GNU rm, -I est une protection moins intrusive : elle demande une confirmation unique si la commande doit supprimer plus de trois fichiers ou agir récursivement.
Quelle commande demande une confirmation avant de supprimer chaque fichier nommé ?
Ignorer les fichiers absents avec -f
L'option -f ignore les opérandes absents et supprime les demandes :
$ rm -f old-cache.txt
Dans un script de nettoyage, elle peut rendre l'opération idempotente si un fichier généré est peut-être déjà absent. Comme elle désactive les confirmations, n'ajoutez pas -f uniquement pour faire taire une erreur que vous n'avez pas comprise.
Supprimer des répertoires
rm sans option ne supprime pas un répertoire :
$ rm projects
rm: cannot remove 'projects': Is a directory
N'utilisez -r ou -R que pour supprimer volontairement une arborescence et tout son contenu :
$ rm -r old-project
Pour un répertoire vide, rmdir est une solution plus limitée :
$ rmdir empty-directory
rmdir échoue si le répertoire n'est pas vide, ce qui protège son contenu d'une suppression récursive.
Quelle commande supprime old-cache/ uniquement si ce répertoire est vide ?
Vérifier une suppression récursive
Une suppression récursive peut effacer une arborescence entière. Avec -f, elle supprime aussi les demandes ; rm -rf exige donc une validation particulièrement rigoureuse de la cible. Avant toute suppression récursive, vérifiez :
- votre emplacement avec
pwd; - le chemin de premier niveau voulu avec
ls -ld -- TARGET; - toute correspondance de joker avec une prévisualisation en lecture seule ;
- si le chemin est absolu ou relatif :
/tmp/cacheettmp/cachediffèrent fortement ; - l'absence d'espace accidentel :
rm -rf old-projectetrm -rf old projectciblent des chemins différents.
Placez -- avant une cible susceptible de commencer par un tiret afin qu'elle ne soit pas interprétée comme une option :
$ rm -- -old-name
N'utilisez pas automatiquement sudo lorsque rm signale un problème de permission. Vérifiez d'abord la cible et pourquoi votre compte ne peut pas modifier son répertoire parent. Une suppression récursive avec privilèges peut endommager le système ou les données d'autres utilisateurs.
-v demande à rm de rapporter chaque suppression réussie :
$ rm -rv old-project
removed 'old-project/notes.txt'
removed directory 'old-project'
Après avoir vérifié toute la cible, quelle commande supprime old-project/ et tout son contenu tout en conservant les demandes normales ?
Pour vous exercer dans un environnement contrôlé, essayez Commande Linux rm : supprimer des fichiers et Organiser des fichiers et répertoires.
Leçon terminée
Vous avez terminé rm (Supprimer)
Vous savez maintenant supprimer des entrées du système de fichiers en considérant chaque cible comme irréversible.
Confirmer les chemins avant leur suppression.
Prévisualiser le développement des jokers avec une commande en lecture seule.
Demander une confirmation avec
-iou-I.Préférer
rmdirlorsque le répertoire doit être vide.Valider toute la cible avant une suppression récursive.
Conservez votre progression
Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.
Créer un compte gratuit