web-dev-qa-db-fra.com

Comment supprimer un répertoire non vide dans Terminal?

Comment puis-je supprimer le répertoire suivant?

J'ai tapé:

rmdir lampp

Cette erreur revient:

rmdir: failed to remove `lampp': Directory not empty

Existe-t-il une commande pour supprimer tous les fichiers du répertoire et supprimer le dossier du répertoire?

606
naveen

Utilisez la commande ci-dessous:

rm -rf lampp

Il supprime tous les fichiers et dossiers contenus dans le répertoire lampp.

Si l’utilisateur n’a pas l’autorisation de supprimer le dossier:

Ajoutez Sudo au début de la commande:

Sudo rm -rf folderName

Sinon, sans Sudo, vous obtiendrez une autorisation refusée. Et il est recommandé d’essayer de ne pas utiliser -f lors de la suppression d’un répertoire:

Sudo rm -r folderName

Remarque: cela suppose que vous êtes déjà au même niveau du dossier que vous souhaitez supprimer dans le terminal, si ce n'est pas le cas:

Sudo rm -r /path/to/folderName

Pour votre information, vous pouvez utiliser les lettres -f, -r, -v:

  • -f = pour ignorer les fichiers inexistants, jamais demander
  • -r = pour supprimer les répertoires et leur contenu de manière récursive
  • -v = pour expliquer ce qui est fait
842
Shantanu Banerjee
rm -R lampp

Cependant, vous devez faire attention avec une commande récursive comme celle-ci, car il est facile de supprimer accidentellement beaucoup plus que prévu.

Il est judicieux de toujours vérifier le répertoire dans lequel vous vous trouvez et de savoir si vous avez tapé la commande correctement avant d'appuyer sur Entrée.

version plus sûre

rm -R -i lampp

L'ajout de -i le rend un peu plus sûr, car il vous invitera à chaque suppression. Cependant, si vous supprimez de nombreux fichiers, cela ne sera pas très pratique. Néanmoins, vous pouvez essayer ceci en premier.

Remarque concernant l'option -f:

Beaucoup de gens suggèrent d'utiliser -f (en le combinant en -Rf ou -rf), en prétendant qu'il se débarrasse des invites gênantes. Cependant, dans des cas normaux, vous n'en avez pas besoin et son utilisation supprime certains problèmes que vous faites probablement souhaitez connaître. Lorsque vous l'utiliserez, vous ne serez pas averti si vos arguments fournissent un répertoire ou un fichier non existant: rm ne pourra tout simplement pas supprimer quoi que ce soit. En règle générale, essayez d'abord sans le -f: s'il y a des problèmes avec vos arguments, alors vous le remarquerez. Si vous commencez à recevoir trop d’invitations sur les fichiers sans accès en écriture, vous pouvez l’essayer avec -f. Vous pouvez également exécuter la commande à partir d'un utilisateur (ou du superutilisateur utilisant Sudo) disposant de toutes les autorisations sur les fichiers et les répertoires que vous supprimez pour éviter ces invites en premier lieu.

93
thomasrutter

Il existe de nombreuses façons de supprimer un répertoire via le mode CLI. Cela dépend de la façon dont vous êtes à l'aise.

rm -rvf /path/to/directory  
  • -r = supprimer les répertoires et leur contenu de manière récursive
  • -v = expliquer ce qui est fait
  • -f = ignorer les fichiers inexistants, jamais demander

Si vous êtes nouveau dans Linux, utilisez les pages de manuel des commandes ( man rm ) pour plus d’options et plus de précision.

24
papseddy