Question : Comment puis-je supprimer un répertoire vide, un répertoire avec des fichiers et des sous-répertoires sous Linux / Unix ? Aussi, comment puis-je utiliser efficacement un alias pour les commandes rm et rmdir ?
Réponse : Vous pouvez supprimer un répertoire vide à l'aide de la commande rmdir ou un répertoire avec du contenu à l'aide de la commande rm. La suppression peut être effectuée de manière interactive, récursive, forcée ou via un alias. Dans cet article, passons en revue 5 exemples pratiques qui montrent comment supprimer les répertoires dans des systèmes similaires à Linux.
1. Comment supprimer des répertoires vides sous Unix ?
La commande rmdir supprimera les répertoires vides. c'est-à-dire un répertoire sans sous-répertoires ni fichiers.
rmdir DIRNAME
Pour vous assurer que vous supprimez un répertoire vide, vous devez utiliser la commande rmdir. S'il y a des
fichiers/répertoires dans ce répertoire, il affichera l'erreur suivante.
$ rmdir test rmdir: failed to remove `test': Directory not empty
2. Comment supprimer des répertoires vides imbriqués sous Linux ?
Utilisez l'option -p pour supprimer les répertoires imbriqués comme indiqué ci-dessous.
$ rmdir -p dir1/dir2/dir3
Remarque :Ne vous inquiétez pas de la façon dont un répertoire peut être imbriqué et également vide. Il est imbriqué lorsque vous appelez la commande, mais il supprime d'abord le répertoire le plus interne et vide le répertoire de niveau suivant, puis supprime ce répertoire. Et cela continue.
Le rmdir -p dir1/dir2/dir3 est équivalent à
$ rmdir dir1/dir2/dir3 dir1/dir2 dir1
3. Supprimer le répertoire qui a du contenu (c'est-à-dire un répertoire avec des fichiers et des sous-répertoires)
Parfois, vous voudrez peut-être supprimer le répertoire qui contient du contenu. Vous pouvez le faire avec la commande rm comme indiqué ci-dessous.
$ rm -rf DIRNAME
Cela supprimera le répertoire comprenant tous les fichiers et sous-répertoires. Ceci est très dangereux lorsque vous l'utilisez accidentellement car vous ne pouvez pas récupérer ces fichiers facilement. Il est donc fortement recommandé de faire attention et de réfléchir à deux fois avant d'exécuter la commande rm -rf.
4. Supprimer de manière interactive :évitez d'utiliser -f dans rm au début.
Si vous avez déjà exécuté accidentellement rm -rf par erreur, vous voudrez peut-être sérieusement envisager d'utiliser l'option -i pour supprimer les fichiers et dossiers de manière interactive, comme indiqué ci-dessous (en particulier sous root).
Suppression d'un répertoire de manière récursive et interactive.
# rm -ir DIRNAME
Suppression interactive d'un fichier.
# rm -i FILENAME
Si vous êtes un débutant Linux, n'utilisez pas l'option -f à la racine jusqu'à ce que vous soyez très à l'aise avec la ligne de commande. Au lieu de cela, essayez d'utiliser l'option -i comme indiqué ci-dessus.
5. Alias rm et rmdir utiles
Vous pouvez faire de l'option rm interactive votre commande rm par défaut en utilisant un alias comme indiqué ci-dessous.
Alias pour rendre rm interactif
# alias rm="rm -i"
Lors de l'utilisation de la commande rm, il sera toujours exécuté rm -i et demandera une confirmation avant de supprimer des fichiers. Mais attention, lorsque vous donnez l'option -f, vous n'obtiendrez pas l'invite interactive même si vous avez l'option -i dedans.
Par exemple, dans la commande suivante -i n'a aucun effet.
$ rm -irf DIRNAME
Dans ce cas, la commande ci-dessus (avec l'alias rm) est équivalente à la commande suivante.
$ rm -rf DIRNAME
Toutes les options rm suivantes sont valides et ont la même fonctionnalité. c'est-à-dire une suppression récursive et forcée.
- rm -fr
- rm -rf
- rm -r -f
- rm -f -r
Alias pour rendre rm verbeux
Si vous voulez que rm ou rmdir imprime ce qu'il fait, vous pouvez utiliser l'option détaillée traditionnelle.
alias rm="rm -v" alias rmdir="rmdir -v"
Remarque :Rendez ce paramètre permanent en ajoutant la commande alias au fichier ~/.bash_profile (ou) ~/.bashrc.
Vous pouvez supprimer des fichiers ou des répertoires, vides ou non vides, imbriqués ou uniques à l'aide des commandes rm et rmdir. Mais avant d'invoquer la commande, réfléchissez à deux fois avant de supprimer car il deviendra difficile de récupérer un fichier une fois que vous l'aurez supprimé par erreur.
Avez-vous déjà supprimé des fichiers par erreur en utilisant la commande rm ou rm -r ? Comment avez-vous géré cette situation ? Partagez votre histoire avec nous dans la section des commentaires ci-dessous.