Comment supprimer un répertoire et tout son contenu?

En bash, tout ce que je sais, cest que

rmdir directoryname 

supprimera le répertoire mais seulement sil est vide. Existe-t-il un moyen de forcer la suppression des sous-répertoires?

Réponse

La commande suivante le fera pour vous . Soyez prudent cependant.

rm -rf directoryname 

Commentaires

  • " -f " est " –force " qui remplace certaines vérifications de cohérence et une commande plus sûre pour commencer serait rm -r directoryname.
  • Pour une raison quelconque, jobtiens une erreur rm: invalid option -- r lorsque tentative de suppression dun répertoire avec rm -r < nom_répertoire >.
  • @Sunspawn Vérifiez cette question connexe pour voir si ' est le cas.
  • @JimParis Je pense que le mot " plus sûr " est relatif. Supposons que vous écriviez un script à exécuter sur un ordinateur distant. Ce script a une commande qui est censée supprimer un répertoire. Ici, il serait " plus sûr " dutiliser rm -rf directoryname car vous ne le feriez pas ' t voulez que votre script suspende lexécution, car il ' attend lentrée de lutilisateur. Bien sûr, vous devez être sûr que la suppression du répertoire ne ferait aucun mal.

Répondez

si rm -rf directoryname vous échoue, essayez dutiliser rm -R -f directoryname ou rm --recursive -f directoryname.

Si vous navez pas de chance avec ceux-ci, vous devriez envisager de réinstaller rm ou de changer de shell.

Commentaires

  • Voici les options disponibles sur mon rm page de manuel, je lai recherchée en tapant man rm pour afficher mes options de suppression récursive et les options forcer .
  • Est-ce que votre rm liste des pages de manuel -r? Quest ce que ça fait? (Essayez-le dans un répertoire que vous créez uniquement à des fins de test, avec uniquement des fichiers factices (et peut-être des sous-répertoires).) Quel système dexploitation utilisez-vous?
  • P.S. Si rm -r ne ' t fonctionne, ce serait un problème de système dexploitation, pas un problème de shell. (Strictement parlant, ce serait un problème avec la version de rm que vous ' utilisez, vous pouvez donc y remédier en installant un une version différente de rm, ou une recherche dans votre système pour voir si vous avez déjà une version différente de rm dans un répertoire autre que /bin.)
  • Ah, cest vrai. Jai oublié de mentionner que je ' m sur Ubuntu 14.04 Quand jai exécuté man rm dans mon terminal, cela ma donné un fichier texte avec le less visionneuse de texte. Jai fait défiler jai trouvé une entrée en retrait avec un tout qui avait les options -R et –recursive associées à loption -r , signifiant que tous ces arguments sont identiques.
  • edit: avez-vous essayé sudo rm -r directoryName ? Les règles non écrites des commandes de base sont que -r permettra à un programme de sexécuter de manière récursive sur chaque fichier de votre système de fichiers (en commençant où que vous choisissiez!) Et que -f fera les choses avec force, même si cela ' est dangereux . ' cd ', ' mv ', ' ls ' la plupart du temps tient ce principe vrai. ls -r / va être un duzie, et cp -rf / /dev/null détruira tout sur votre système de fichiers. < –Ne lancez jamais cette commande!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *