Créer et supprimer des structures de répertoires avec mkdir, rmdir et rm
Dans cette étape, vous apprendrez à créer et à supprimer des répertoires. L'organisation des fichiers dans une structure hiérarchique de répertoires est une tâche fondamentale sous Linux. Nous utiliserons la commande mkdir pour créer des répertoires, rmdir pour supprimer des répertoires vides et rm pour supprimer des répertoires ainsi que tout leur contenu. Toutes les commandes seront exécutées depuis votre répertoire par défaut, ~/project.
Tout d'abord, créons un répertoire simple. La commande mkdir signifie "make directory" (créer un répertoire).
Dans votre terminal, exécutez la commande suivante pour créer un répertoire nommé cars :
mkdir cars
Pour vérifier que le répertoire a été créé, vous pouvez utiliser la commande ls -ld. L'option -l fournit un format d'affichage long, et l'option -d liste l'entrée du répertoire lui-même, et non son contenu.
ls -ld cars
Vous devriez voir une sortie similaire à celle-ci, confirmant la création du répertoire cars. Le d au début de la chaîne de permissions indique qu'il s'agit d'un répertoire (directory).
drwxr-xr-x 2 labex labex 4096 May 20 10:30 cars
Maintenant, supprimons ce répertoire. La commande rmdir est utilisée pour supprimer des répertoires vides.
rmdir cars
Vérifiez sa suppression en exécutant à nouveau la commande ls -ld.
ls -ld cars
Cette fois, vous recevrez un message d'erreur car le répertoire n'existe plus. Cela confirme que rmdir a réussi.
ls: cannot access 'cars': No such file or directory
La commande rmdir ne fonctionne que sur les répertoires vides. Que se passe-t-il si nous avons une structure de répertoires imbriqués ? Essayons de créer une structure de répertoires pastry/pies/cakes. Pour créer les répertoires parents si nécessaire, nous devons utiliser l'option -p (parents) avec mkdir.
Exécutez la commande suivante :
mkdir -p pastry/pies/cakes
Pour visualiser l'intégralité de la structure de répertoires que vous venez de créer, utilisez la commande ls avec les options -l (format long) et -R (récursif).
ls -lR pastry
La sortie affichera le répertoire pastry et ses sous-répertoires, pies et cakes.
pastry:
total 4
drwxr-xr-x 3 labex labex 4096 May 20 10:35 pies
pastry/pies:
total 4
drwxr-xr-x 2 labex labex 4096 May 20 10:35 cakes
pastry/pies/cakes:
total 0
Maintenant, essayons de supprimer le répertoire pastry à l'aide de rmdir.
rmdir pastry
Pourquoi cette commande a-t-elle échoué ? Le terminal affichera un message d'erreur :
rmdir: failed to remove 'pastry': Directory not empty
C'est parce que rmdir ne peut supprimer que des répertoires vides, et pastry contient le sous-répertoire pies.
Pour supprimer un répertoire et tout son contenu (y compris les sous-répertoires et les fichiers), vous devez utiliser la commande rm avec l'option -r (récursif). Soyez très prudent avec cette commande, car elle peut supprimer des données de manière permanente.
rm -r pastry
Cette commande ne produira aucune sortie si elle réussit. Vous pouvez vérifier que le répertoire pastry a été complètement supprimé en exécutant à nouveau ls -ld pastry, ce qui devrait entraîner une erreur "No such file or directory".
ls -ld pastry