En tant qu’utilisateurs de Linux, nous interagissons régulièrement avec les fichiers et les répertoires. Une opération courante que les utilisateurs effectuent consiste à supprimer des répertoires du système de fichiers. Cependant, nous devons être très prudents lors de la suppression des répertoires. Parce que les opérations de suppression effectuées avec négligence peuvent entraîner une perte de données.
Dans cet article convivial pour les débutants, nous découvrirons la commande rmdir. Nous aborderons également quelques exemples pratiques utilisables au quotidien.
La syntaxe de la rmdir La commande est similaire aux autres commandes Linux. À un niveau élevé, il est divisé en deux parties – choix et arguments:
$ rmdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...
Ici, les crochets ([])
représentent les arguments facultatifs tandis que les crochets angulaires (<>)
représentent les arguments obligatoires.
Utilisation de base de la commande rmdir sous Linux
Comme son nom l’indique, le rmdir La commande est utilisée pour supprimer le répertoire. Cependant, il est important de noter qu’il ne peut supprimer que les répertoires vides. Dans cette section, nous verrons l’utilisation de base du rmdir commande.
Supprimer un répertoire vide sous Linux
Commencez par créer quelques répertoires vides :
$ mkdir dir1 dir2 dir3 dir4
Vérifions que les répertoires requis ont été créés :
$ ls -l
Maintenant, supprimons le dir1 répertoire et vérifiez qu’il a été supprimé :
$ rmdir dir1 $ ls -l
De la même manière, nous pouvons utiliser le rmdir commande pour supprimer plusieurs répertoires vides à la fois.
Supprimons les répertoires restants :
$ rmdir dir2 dir3 dir4
Enfin, vérifiez que tous les répertoires ont été supprimés :
$ ls -l
Ici, nous pouvons voir que la commande ls n’affiche aucun répertoire.
Mode détaillé de rmdir
Dans la section précédente, nous avons utilisé la commande ls pour vérifier la suppression du répertoire. Cependant, cela n’a pas de sens d’exécuter une commande de plus juste pour vérifier les actions des commandes précédentes.
Dans de tels cas, nous pouvons activer le mode verbeux en utilisant le -v
option, qui fournit des diagnostics pour chaque répertoire traité.
Créons la même structure de répertoires que nous avons créée précédemment :
$ mkdir dir1 dir2 dir3 dir4
Maintenant, supprimons les répertoires avec le mode verbeux activé :
$ rmdir -v dir1 dir2 dir3 dir4 $ ls -l
À partir de la sortie ci-dessus, nous pouvons conclure que tous les répertoires ont été supprimés.
Supprimer les sous-répertoires vides sous Linux
Nous créons souvent des sous-répertoires sur un système de fichiers, ce qui nous permet d’organiser nos données de manière appropriée. Voyons comment travailler avec des sous-répertoires vides.
Comme indiqué dans le premier exemple, nous pouvons supprimer plusieurs répertoires à l’aide de la rmdir commande. Cependant, la situation devient délicate lorsque les sous-répertoires sont nombreux.
Dans de tels cas, nous pouvons utiliser le -p
option, qui supprime le répertoire et tous ses ancêtres. Comprenons cela avec un exemple.
Tout d’abord, créez une structure de sous-répertoire :
$ mkdir -p dir1/dir2/dir3/dir4/dir5
Dans cet exemple, nous avons utilisé le -p
avec la commande mkdir pour créer une structure de sous-répertoires.
Supprimons tous ces répertoires en une seule fois :
$ rmdir -p -v dir1/dir2/dir3/dir4/dir5 rmdir: removing directory, 'dir1/dir2/dir3/dir4/dir5' rmdir: removing directory, 'dir1/dir2/dir3/dir4' rmdir: removing directory, 'dir1/dir2/dir3' rmdir: removing directory, 'dir1/dir2' rmdir: removing directory, 'dir1'
Ici, le mode verbeux supprime le dir5 répertoire et tous ses répertoires ancêtres.
Gérer l’échec du répertoire non vide
Nous savons déjà que le rmdir ne peut supprimer que les répertoires vides. Toute tentative de suppression d’un répertoire non vide entraînera une erreur. Bien que cela offre une protection contre la perte de données, dans de rares cas, cela peut créer un problème.
Par exemple, si nous essayons de supprimer un répertoire non vide du script qui est exécuté par Jenkins, le travail signalera un échec.
Pour simuler cela, essayons de supprimer le répertoire non vide :
$ mkdir -p dir1/dir2/dir3/dir4/dir5 $ rmdir dir1 rmdir: failed to remove 'dir1': Directory not empty
Pour de tels cas d’erreur, nous pouvons utiliser le --ignore-fail-on-non-empty
option, qui ignore tous les échecs qui se sont produits en raison d’un répertoire non vide.
Utilisons cette option avec la commande et vérifions la valeur de retour :
$ rmdir --ignore-fail-on-non-empty dir1 $ echo $? 0
Dans cet exemple, nous pouvons voir que la commande n’a signalé aucune erreur et la valeur de retour zéro indique l’exécution réussie de la commande. Cependant, il est important de noter que cette option supprime simplement l’erreur et ne supprime pas le répertoire non vide.
Utiliser des expressions régulières dans la commande rmdir
Semblable à d’autres commandes Linux, nous pouvons utiliser des expressions régulières avec le rmdir commande. Voyons l’utilisation des deux expressions régulières suivantes :
?
– Il correspond exactement à un caractère.*
– Il correspond à zéro ou plusieurs occurrences des caractères précédents.
Commencez par créer quelques répertoires vides :
$ mkdir dir1 dir2 dir-01 dir-02
Maintenant, utilisons le '?'
expression régulière avec la chaîne ‘dir’ pour supprimer le dir1 et dir2 répertoires :
$ rmdir -v dir? rmdir: removing directory, 'dir1' rmdir: removing directory, 'dir2'
Ici, nous pouvons voir que la commande a supprimé les répertoires corrects.
Ensuite, utilisez le '*'
expression régulière pour supprimer les deux autres répertoires :
$ rmdir -v dir-* rmdir: removing directory, 'dir-01' rmdir: removing directory, 'dir-02'
Dans cet exemple, nous pouvons voir que les deux autres répertoires ont été supprimés.
Dans cette section, nous avons discuté de l’utilisation de seulement deux expressions régulières. Cependant, nous pouvons également utiliser les autres expressions régulières avancées avec le rmdir commande.
Dans cet article, nous avons d’abord vu l’utilisation de base de la rmdir commande. Ensuite, nous avons discuté du mode verbeux et de la suppression des sous-répertoires. Ensuite, nous avons vu comment gérer les échecs lorsqu’un répertoire n’est pas vide. Enfin, nous avons discuté de l’utilisation des expressions régulières.
on peut aussi utiliser la recurcive -r quant ils sont plein !