Supprimer des fichiers et des répertoires en toute sécurité

LinuxBeginner
Pratiquer maintenant

Introduction

Créer des choses est agréable, mais il faut parfois faire du nettoyage.

Sous Windows ou macOS, les fichiers supprimés sont placés dans la « Corbeille », où vous pouvez les récupérer. Linux fonctionne différemment. Lorsque vous supprimez un fichier dans le terminal, il disparaît. Immédiatement. Définitivement.

Imaginez que la commande Linux rm soit une déchiqueteuse. Une fois que vous lui avez confié un fichier, il n’existe aucun bouton « Annuler ».

C’est l’un des premiers moments où la puissance de la ligne de commande peut sembler dangereuse. En général, le shell ne vous demande pas : « Êtes-vous vraiment sûr ? », sauf si un outil a été configuré spécifiquement pour le faire. Linux part du principe que vous voulez exécuter exactement ce que vous tapez.

Dans ce laboratoire, vous apprendrez à :

  1. Déchiqueter des fichiers individuels (rm).
  2. Supprimer en toute sécurité des répertoires vides (rmdir).
  3. Supprimer de force des répertoires non vides (rm -rf).

Supprimer des fichiers

Commençons par supprimer un fichier unique.

Vérifiez d’abord ce qui est présent :

ls -l

Vous devez voir file_to_delete.txt.

Envoyons-le maintenant dans la déchiqueteuse. Nous utilisons la commande rm (abréviation de remove, « supprimer »).

rm file_to_delete.txt

Si la commande réussit, le terminal n’affiche rien. Il effectue simplement l’opération.

Vérifiez que le fichier a bien disparu :

ls -l

Il n’est plus là.

Important : vérifiez toujours deux fois le nom du fichier avant d’appuyer sur Entrée. Il n’y a aucun retour en arrière possible.

Cette précaution ne concerne pas seulement les débutants. Même les administrateurs expérimentés prennent le temps de vérifier avant d’exécuter des commandes destructrices, en particulier lorsqu’ils travaillent en tant que root ou utilisent des caractères génériques.

Supprimer des répertoires vides

Essayons maintenant de supprimer un répertoire. Nous avons un dossier nommé empty_dir.

Pour les dossiers vides, Linux fournit un outil sûr appelé rmdir (Remove Directory).

rmdir empty_dir

Vérifiez qu’il a disparu :

ls -F

La suppression a réussi ! Toutefois, rmdir refuse de supprimer un répertoire s’il contient le moindre élément. C’est un verrou de sécurité.

Essayons d’utiliser cette commande sur data_dir, qui contient des fichiers :

rmdir data_dir

Vous devez voir l’erreur suivante : rmdir: failed to remove 'data_dir': Directory not empty. Linux vous protège ainsi contre une perte accidentelle de données.

Ce comportement fait de rmdir un outil relativement sûr. Il ne fonctionne que lorsque le répertoire est déjà vide. Il est donc utile lorsque vous souhaitez utiliser une commande de suppression intégrant une limite de sécurité.

Supprimer récursivement

Parfois, vous devez supprimer un dossier entier, avec tout son contenu.

Pour supprimer un dossier et tout ce qu’il contient, nous utilisons rm avec deux options puissantes :

  1. -r (Récursive) : parcourt chaque sous-dossier.
  2. -f (Forcée) : ne pose aucune question.

Ensemble, elles forment le « bulldozer » : rm -rf.

Vous entendrez souvent parler de cette combinaison dans la culture Linux, car elle est puissante et facile à utiliser de manière incorrecte. Une petite erreur de saisie peut modifier complètement la cible. C’est pourquoi les utilisateurs traitent rm -rf avec autant de prudence.

Supprimons data_dir :

rm -rf data_dir

Vérifiez que le répertoire et son contenu ont disparu :

ls

Tout a disparu.

AVERTISSEMENT : rm -rf est la commande la plus dangereuse de Linux. Si vous l’exécutez sur le mauvais dossier, il n’existe aucun moyen simple de récupérer les données. Vérifiez toujours attentivement l’orthographe du chemin !

La leçon la plus importante concerne la portée de la commande. Avant d’appuyer sur Entrée pour exécuter une commande destructive, assurez-vous de savoir exactement sur quel chemin et quel motif le shell va agir.

Résumé

Vous avez appris à nettoyer votre système.

  • rm file : la déchiqueteuse, pour les fichiers.
  • rmdir dir : la suppression sûre, pour les dossiers vides.
  • rm -rf dir : le bulldozer, pour les dossiers contenant des éléments.

Un grand pouvoir implique de grandes responsabilités. Utilisez rm -rf avec prudence !

Dans le dernier laboratoire de ce module, vous apprendrez à sélectionner des groupes de fichiers à l’aide de caractères génériques.