Je supprime généralement les répertoires en utilisant rm :
rm -r myDir
Cependant, je connais une autre commande, rmdir , qui semble faire aussi bien le travail:
rmdir myDir
Quelle est la différence entre ces deux commandes et quand doit-on les utiliser chacune?
rmdir(2)
qui ne peut supprimer que des répertoires vides.rm -r
: (1) Tapez la commande, mais ne la saisissez pas (2) Éloignez vos mains du clavier (3) Comptez jusqu'à cinq (4) Appuyez sur ENTRÉE. J'ai commencé à faire quelque chose comme ça avec toutes les commandes dangereuses, pour me donner une chance de regarder ce que je fais, de m'assurer d'avoir tapé les choses correctement, de réfléchir à des conséquences inattendues, etc. Parfois, cela m'amène pour effacer ma commande et faire des vérifications supplémentaires en premier, par exemple.rm -rf ~ /*
- nettoie mon répertoire personnel. Ou attendez, peut-être nettoyer le système. Toujours bon de revérifier;).rmdir
etrm -r
sont deux cordes de la même longueur :-)Réponses:
rm -r
supprime un répertoire et tout son contenu;rmdir
ne supprimera un répertoire que s'il est vide. J'aime utiliser ce qui suit pour supprimer un répertoire et tout son contenu:la source
-f
si vous n'en avez pas besoin. Il est pratique à utiliser à-rf
chaque fois, mais il désactive (presque) tous les contrôles de sécurité.-f
drapeau de RM qui peut avoir des conséquences imprévisibles et irréversiblesrmdir
c'est justerm -d
?-d
n'est pas une option standard pourrm
.rm
commande en général peut avoir ces conséquences. L'-f
indicateur est utile lors de l'exécution sousset -e
dans un script. Je suis d'accord que l'utilisation sans réfléchir n'est pas nécessaire .Vous devez l'utiliser
rm -r
lorsque vous souhaitez supprimer récursivement un répertoire et tout son contenu, ou lorsque la cible peut être un répertoire ou un fichier et que vous souhaitez le supprimer indépendamment de ce qu'il est.Vous devez utiliser
rmdir
lorsque vous souhaitez supprimer un répertoire vide.La
rmdir
commande est utile car elle refuse de supprimer les répertoires et fichiers non vides. Cela sert de prise de sécurité dans les situations où vous pouvez être absolument sûr que ce que vous supprimez est un répertoire et que le répertoire est vide avant de le supprimer (par exemple dans un script) et que vous souhaitez le traiter comme une condition d'erreur autrement.la source