Suppression de fichiers Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à gérer efficacement les fichiers dans un environnement Linux en utilisant la commande rm. La gestion des fichiers est une compétence fondamentale pour tous ceux qui travaillent avec des systèmes Linux. La commande rm (remove, supprimer) est un outil puissant qui permet aux utilisateurs de supprimer des fichiers et des répertoires du système.

Vous apprendrez à supprimer des fichiers individuels, plusieurs fichiers en utilisant des caractères génériques (wildcards) et des répertoires entiers en utilisant des options récursives. À la fin de ce laboratoire, vous aurez une bonne compréhension de la manière d'utiliser efficacement et en toute sécurité la commande rm dans différents scénarios.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") subgraph Lab Skills linux/ls -.-> lab-271371{{"Suppression de fichiers Linux"}} linux/rm -.-> lab-271371{{"Suppression de fichiers Linux"}} linux/wildcard -.-> lab-271371{{"Suppression de fichiers Linux"}} end

Suppression d'un seul fichier avec rm

La commande rm (abréviation de remove, supprimer) est utilisée pour supprimer des fichiers et des répertoires sous Linux. Dans cette étape, vous apprendrez à supprimer un seul fichier du système.

Voyons d'abord quels fichiers sont disponibles dans le répertoire old_predictions :

ls ~/project/old_predictions

Vous devriez voir une sortie similaire à :

prediction-01.txt  prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

Maintenant, supprimons le fichier prediction-01.txt en utilisant la commande rm :

rm ~/project/old_predictions/prediction-01.txt

La commande rm ne produit aucune sortie si l'opération réussit. C'est un comportement courant pour de nombreuses commandes Linux, où « pas de nouvelles, c'est de bonnes nouvelles » - cela signifie que s'il n'y a pas de message d'erreur, la commande s'est exécutée avec succès.

Pour vérifier que le fichier a été supprimé, liste à nouveau le contenu du répertoire :

ls ~/project/old_predictions

La sortie devrait maintenant montrer que prediction-01.txt n'est plus présent :

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

La commande rm supprime définitivement les fichiers. Contrairement à Windows ou macOS, il n'y a pas de Corbeille dans l'interface en ligne de commande. Une fois qu'un fichier est supprimé avec rm, il ne peut pas être facilement récupéré.

Suppression de plusieurs fichiers en utilisant des caractères génériques (wildcards)

Souvent, vous avez besoin de supprimer plusieurs fichiers à la fois. Linux propose des caractères génériques (wildcards) pour faciliter cette tâche. Les caractères génériques sont des caractères spéciaux qui peuvent représenter un ou plusieurs caractères dans un nom de fichier.

Examinons les caractères génériques courants :

  • * (astérisque) : Correspond à n'importe quel nombre de caractères (y compris zéro)
  • ? (point d'interrogation) : Correspond exactement à un caractère
  • [] (crochets) : Correspond à n'importe quel caractère contenu entre les crochets

Tout d'abord, vérifions les fichiers actuels dans le répertoire old_predictions :

ls ~/project/old_predictions

Vous devriez voir :

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

Maintenant, supprimons les fichiers prediction-02.txt, prediction-03.txt et prediction-04.txt tous à la fois. Nous pouvons utiliser la correspondance de motifs avec des accolades {} pour spécifier plusieurs options :

rm ~/project/old_predictions/prediction-{02..04}.txt

Cette commande utilise la notation de plage {02..04} qui s'étend en 02, 03, 04. Le shell étend cette commande avant l'exécution, exécutant en fait :

rm ~/project/old_predictions/prediction-02.txt ~/project/old_predictions/prediction-03.txt ~/project/old_predictions/prediction-04.txt

Une autre approche courante consiste à utiliser l'astérisque comme caractère générique. Par exemple, si vous vouliez supprimer tous les fichiers de prédiction, vous pourriez utiliser :

## Ceci n'est qu'un exemple - n'exécutez pas cette commande maintenant
## rm ~/project/old_predictions/prediction-*.txt

Vérifions quels fichiers restent dans le répertoire :

ls ~/project/old_predictions

Vous devriez maintenant ne voir que :

prediction-05.txt

Cela montre que les trois fichiers ont été supprimés avec succès et que seul prediction-05.txt reste.

Suppression de répertoires avec rm -r

La commande de base rm ne supprime que les fichiers, pas les répertoires. Pour supprimer un répertoire et tout son contenu (fichiers et sous-répertoires), vous devez utiliser l'option -r (récursive).

Examinons quels répertoires se trouvent dans le dossier archive :

ls ~/project/archive

Vous devriez voir :

2008  2009  2010

Maintenant, vérifions quels fichiers se trouvent à l'intérieur du répertoire 2009 :

ls ~/project/archive/2009

La sortie devrait montrer :

august.txt  july.txt  june.txt

Pour supprimer l'ensemble du répertoire 2009 ainsi que tout son contenu, utilisez l'option -r avec la commande rm :

rm -r ~/project/archive/2009

Cette commande supprime récursivement le répertoire et tout son contenu. L'option -r signifie "récursive" et indique à rm de supprimer le répertoire et tout ce qu'il contient.

Pour vérifier que le répertoire a été supprimé, vérifiez à nouveau le contenu du répertoire archive :

ls ~/project/archive

Vous devriez maintenant ne voir que :

2008  2010

Le répertoire 2009 et tout son contenu ont été supprimés avec succès.

Note importante : Soyez extrêmement prudent lorsque vous utilisez rm -r, en particulier lorsqu'elle est combinée avec des caractères génériques (wildcards) ou en tant qu'utilisateur root. Une commande mal tapée peut entraîner une perte de données importante. Certains administrateurs système utilisent l'option -i (interactive) qui demande confirmation avant de supprimer chaque fichier, comme mesure de sécurité supplémentaire :

## Ceci n'est qu'un exemple - n'exécutez pas cette commande maintenant
## rm -ri ~/project/archive/2010

Une autre option utile est -v (verbose), qui affiche chaque fichier au fur et à mesure qu'il est supprimé :

## Ceci n'est qu'un exemple - n'exécutez pas cette commande maintenant
## rm -rv ~/project/archive/2010

Résumé

Dans ce laboratoire, vous avez appris à gérer les fichiers dans un environnement Linux en utilisant la commande rm. Voici les concepts clés abordés :

  1. Suppression de fichiers de base : Utilisation de la commande rm pour supprimer des fichiers individuels
  2. Suppression de plusieurs fichiers : Utilisation de caractères génériques (wildcards) et de l'expansion d'accolades pour supprimer plusieurs fichiers à la fois
  3. Suppression de répertoires : Utilisation de l'option -r pour supprimer récursivement des répertoires et leur contenu

La commande rm est un outil puissant pour la gestion des fichiers sous Linux, mais elle doit être utilisée avec prudence car les fichiers supprimés ne peuvent pas être facilement récupérés. Vérifiez toujours vos commandes, en particulier lorsque vous utilisez des caractères génériques ou des options récursives.

Voici des options supplémentaires qui pourraient vous être utiles dans votre parcours Linux :

  • rm -i : Mode interactif, demande confirmation avant chaque suppression
  • rm -f : Suppression forcée sans demande de confirmation, même pour les fichiers protégés en écriture
  • rm -v : Mode verbeux, explique ce qui est fait

Ces compétences en gestion de fichiers sont fondamentales pour tous ceux qui travaillent avec des systèmes Linux, des débutants aux utilisateurs avancés.