Supprimer des fichiers et des dossiers dans la ligne de commande Linux

Dans les chapitres précédents de la série Terminal Basics, vous avez appris à créer de nouveaux fichiers et répertoires (dossiers).
Voyons maintenant comment vous pouvez supprimer des fichiers et des dossiers dans le terminal Linux.
Contents
Suppression de fichiers
Pour supprimer des fichiers, vous pouvez utiliser la commande rm de la manière suivante :
rm filename_or_path
Vous ne verrez aucune sortie si le fichier est supprimé avec succès.
Voici un exemple où j’ai supprimé l’un des fichiers nommés new_file
. Lorsque je liste le contenu du répertoire, vous pouvez voir que new_file
n’existe plus.

Vous pouvez également supprimer plusieurs fichiers dans la même commande :
rm file1 file2 file3
Permettez-moi de montrer un exemple de suppression de deux fichiers en une seule commande.

🏋️Suppression de fichier d’exercice
Mettons en pratique ce que vous venez d’apprendre. Créez un répertoire nommé practice_delete et basculez-y :
mkdir practice_delete && cd practice_delete
Créez maintenant quelques fichiers vides :
touch file1 file2 file3
Supprimez le fichier3 :
rm file3
Maintenant, faisons quelque chose de plus. Exécutez cette commande et modifiez l’autorisation sur file2 :
chmod u-w file1 file2
Essayez de supprimer file2 maintenant :
rm file2
Voyez-vous un message ‘supprimer le fichier protégé en écriture‘? C’est parce que vous avez supprimé l’autorisation d’écriture (pour la modification) de ce fichier.
Tu peux appuyez sur Y ou sur la touche Entrée pour confirmer la suppression ou sur N pour refuser la suppression.
Si vous ne voulez pas voir ce message et quand même le supprimer, vous pouvez utiliser l’option de suppression forcée -f
. Essayez en supprimant file1
:
rm -f file1
Voici une rediffusion de tous les exemples ci-dessus pour vous aider :
🚧
Il n’y a pas de corbeille dans la ligne de commande Linux. Une fois le fichier supprimé, vous ne pouvez pas annuler l’action pour le ramener de la corbeille comme vous le faites dans le gestionnaire de fichiers graphique. Pour cette raison, soyez très prudent lors de la suppression des fichiers.
Retirer mais avec prudence
L’absence de corbeille fait de la suppression un travail permanent de tri. C’est pourquoi vous devez faire attention aux fichiers que vous supprimez.
Il existe un mode interactif avec option -i
. Avec cela, il vous sera demandé de confirmer la suppression.
rm -i filename
Ceci est utile lorsque vous supprimez plusieurs fichiers en fonction d’un certain modèle.
Voici un exemple où je supprime de manière interactive tous les fichiers qui correspondent à file_ pattern dans leur nom. J’en supprime certains et j’en garde d’autres en mode interactif.
💡
Je conseille de passer au répertoire où se trouvent les fichiers, puis de les supprimer. Cela aide à réduire tout potentiel causé par une faute de frappe dans le chemin du fichier.
Suppression de répertoires
Il existe une commande rmdir dédiée pour supprimer des répertoires sous Linux.
rmdir dir_name
Cependant, il ne peut supprimer que les répertoires vides. Si le répertoire contient des fichiers ou des sous-répertoires, la commande rmdir génère une erreur.
[email protected]:~/practice_delete$ rmdir dir2
rmdir: failed to remove 'dir2': Directory not empty
Et cela le rend moins utile dans la plupart des cas.
Alors, comment supprimer un dossier non vide alors ? Eh bien, vous utilisez la même commande rm que vous avez utilisée précédemment pour supprimer des fichiers.
Oui, la même commande rm mais avec l’option récursive -r
:
rm -r dir_name
🏋️Suppression du dossier d’exercice
Mettons en pratique ce que vous avez appris.
Passez au dossier practice_delete si vous n’y êtes pas déjà. Maintenant, créez deux répertoires dir1 et dir2.
mkdir dir1 dir2
Créez un fichier dans dir2 :
touch dir2/file
Essayez maintenant de supprimer les répertoires à l’aide de la commande rmdir :
rmdir dir1
rmdir dir2
Puisque le dir2 n’est pas vide, la commande rmdir échouera. Utilisez plutôt la commande rm avec l’option récursive :
rm -r dir2
Voici une rediffusion de tous les exemples de commandes ci-dessus pour vous aider :
💡
Le mode de suppression interactif est encore plus utile lors de la suppression d’un répertoire avec l’option récursive de la commande rm : rm-ri dir_name
Ainsi, vous avez appris à supprimer des fichiers et des dossiers à l’aide de commandes Linux. Il est temps de pratiquer un peu plus.
Testez vos connaissances
Préparez une arborescence de répertoires qui ressemble à ceci :
.
├── dir1
│ ├── file1
│ ├── file2
│ └── file3
├── dir2
├── dir3
└── file
Fondamentalement, vous créez un fichier nommé file et trois répertoires dir1, dir2 et dir3 dans le répertoire courant (practice_delete). Et puis vous créez les fichiers file1, file2 et file3 dans dir1.
Maintenant, procédez comme suit :
- Supprimer
file2
. - Passez à la
dir3
et forcer la suppression du fichier nomméfile
dans le répertoire supérieur. - Supprimez tout le contenu de dir1 mais pas le répertoire lui-même.
- Lister le contenu de la
dir
.
Je vous encourage à discuter des questions pratiques sur le forum de la communauté It’s FOSS.
Cela va bien. Vous avez appris plusieurs choses de base comme changer de répertoire, vérifier le contenu du répertoire, créer et supprimer des fichiers et des répertoires. Dans le chapitre suivant, vous apprendrez à copier des fichiers et des dossiers dans le terminal. Restez à l’écoute!