Question Comment supprimer un répertoire non vide dans Terminal?


Comment supprimer le répertoire suivant?

J'ai tapé:

rmdir lampp

Cette erreur apparaît:

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

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


539
2017-11-16 04:37


origine


Je ne parviens pas à supprimer un répertoire tel que "Nouveau dossier" en utilisant toutes les commandes détaillées ci-dessus. C'est un double mot. Mais je veux supprimer ce répertoire. Toutes les suggestions seront les bienvenues. T.Divakara, Bengaluru, Inde
C'est l'espace vide dans le nom du fichier, essayez d'utiliser 'quotes'> rmdir 'New Folder' <puis le dossier disséqué ou utilisez des caractères d'échappement pour les caractères non vérifiables. - Ken Mollerup
Juste faire rm -r lampp ça ira. - John Strood


Réponses:


Utilisez la commande ci-dessous:

rm -rf lampp

Il supprime tous les fichiers et dossiers contenus dans le lampp annuaire.

Dans le cas où l'utilisateur n'a pas la permission de supprimer le dossier:

Ajouter sudo au début de la commande:

sudo rm -rf folderName

Sinon, sans sudo vous serez renvoyé permission refusée. Et c'est une bonne pratique d'essayer de ne pas utiliser -f en supprimant un répertoire:

sudo rm -r folderName

Remarque: ceci suppose que vous êtes déjà au même niveau que le dossier à supprimer dans le terminal, sinon:

sudo rm -r /path/to/folderName

FYI: vous pouvez utiliser des lettres -f, -r, -v:

  • -f = ignorer les fichiers inexistants, ne jamais demander
  • -r = supprimer les répertoires et leur contenu récursivement
  • -v = expliquer ce qui se fait

755
2017-11-16 05:19



À mon humble avis, il est recommandé de ne jamais ajouter le "f" à la première tentative. Son but est d'ignorer certaines invites d'avertissement qui peuvent être importantes, surtout si vous les avez accidentellement effectuées sur / depuis le mauvais répertoire. À mon avis, il est bon d'essayer sans le "f" en premier, seulement si vous rencontrez beaucoup de messages d'avertissement et que vous êtes sûr de pouvoir les ignorer tous, Ctrl + C et répétez la commande avec le " F". - thomasrutter
@BKSpurgeon pas sauf vous tapez accidentellement --no-preserve-root aussi. - muru
@ thomasrutter ... D'accord. Un fichier "xxx" propriétaire: racine  et groupe: racine peut être supprimé avec le -F commutateur; Et sans sudo. C'est le message sans -F: "rm: supprimer le fichier normal protégé en écriture ‘/home/william/.cache/netbeans/v08.01/tmp/xxx’? _ ". _Lis doucement. - will


rm -R lampp

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

Il est recommandé de toujours vérifier le répertoire dans lequel vous vous trouvez, et de saisir correctement la commande avant d’appuyer sur Entrée.

Version plus sûre

rm -R -i lampp

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

Note sur  -f  option:

Beaucoup de gens suggèrent d'utiliser -f (en le combinant dans -Rf ou -rf), affirmant qu'il se débarrasse des invites ennuyeuses. Cependant, dans des cas normaux, vous n'en avez pas besoin, et son utilisation supprime certains problèmes que vous avez probablement faire vouloir savoir. Lorsque vous l'utilisez, vous ne serez pas averti si vos arguments fournissent un répertoire ou un fichier non existant: rm ne supprimera tout simplement rien. En règle générale, essayez d'abord sans le -f: s'il y a des problèmes avec vos arguments, alors vous remarquerez. Si vous commencez à recevoir trop d’invites 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 super-utilisateur utilisant sudo) disposant d'autorisations complètes sur les fichiers et répertoires que vous supprimez pour empêcher ces invites.


89
2017-11-16 04:56



Note: minuscule -r peut être utilisé aussi et a le même effet ici. Je n'ai tendance à utiliser que des majuscules -R parce qu'il est compatible avec d'autres commandes que j'utilise telles que grep et chmod, dont certains ne prennent en charge que la forme majuscule. - thomasrutter
Celui-ci a fonctionné pour moi en utilisant adb (android debug bridge) sur Android. J'essayais rm -rf mais ça n'a pas marché. J'ai dû utiliser rm -R. Merci. - raddevus


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

rm -rvf /path/to/directory  
  • -r  = supprimer les répertoires et leur contenu récursivement
  • -v  = expliquer ce qui se fait
  • -f  = ignorer les fichiers inexistants, ne jamais demander

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


21
2017-11-16 05:38





J'avais des problèmes avec ça aujourd'hui, mais je l'ai surmonté avec sudo.

Avertissement: Soyez certain que vous souhaitez supprimer le tout avant d’utiliser la commande ci-dessous.

$ sudo rm -R [Directory name]

Je l'ai fait avec succès aujourd'hui et j'ai supprimé de nombreux répertoires non vides que j'ai confirmés ne pas avoir besoin / besoin.

J'utilise 14.04 LTS


-2
2017-09-28 23:00



"SUDO" n'est pas une commande - "sudo" est. Néanmoins, vous n’utilisez pas sudo pour supprimer un répertoire non vide, vous l’utilisez pour supprimer un fichier qui ne vous appartient pas. Faire cela naturellement est dangereux et pas très intelligent, car vous ne devriez pas supprimer aveuglément des fichiers que vous ne possédez pas. - Marty Fried


En passant, je voulais personnellement supprimer un répertoire contenant un fichier / s protégé en écriture (répertoires .git et sub) et finalement réalisé que je devais aussi devenir un super utilisateur pour pouvoir supprimer ces fichiers avec succès. Voici ce que j'ai fait:

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/

-3
2017-09-17 17:35



Je ne pense pas que tu as besoin sudo su ici. Préfixez le rm commande avec sudo. Pour des raisons de sécurité, il est conseillé (selon les partisans de sudo) de ne pas rester dans une invite racine lorsque cela n'est pas nécessaire. - thomasrutter
Aussi, soyez très très très sûr dans quel répertoire vous êtes si vous sudo rm -r. - Tony Martin
Vous pourriez rendre la commande relative à la racine (/directory_name) il ne peut y avoir aucun doute sur le répertoire que vous supprimez. - Yaakov Ainspan