Comment puis-je supprimer un dossier?

71

Je suis un nouvel utilisateur et j'essaie de supprimer un dossier spécifique. J'utilise sudo rm /path/, mais cela ne fonctionne pas. Quelle est la commande correcte à utiliser?

C'est un fichier catolog que j'essaie de supprimer mais je reçois un message m'indiquant qu'il est vide.

Carl
la source

Réponses:

89

Assurez-vous que le dossier est vraiment vide (des fichiers / dossiers cachés peuvent y être). Regardez à nouveau le contenu du fichier avec

sudo ls -lha /path/

Si vous êtes absolument certain qu'il ne contient aucun élément de votre choix (y compris les sous-répertoires), supprimez-le avec

sudo rm -r -f /path/
  • -rest pour récursif , donc il supprimera le dossier et les sous-dossiers, même s'il n'est pas vide
  • -fest pour la force (cela peut être inutile).
phoibos
la source
@EliranMalka L' -findicateur n'est pas nécessaire pour rmsupprimer les éléments directement contenus dans le dossier spécifié, ce que je suppose être ce que vous voulez dire par "adresser le contenu du dossier". Au lieu de cela , force-f signifie forcer à rmne jamais demander de confirmation même si le fichier à supprimer n'a pas de permission d'écriture ( rm: remove write-protected regular file ‘foo’?), mais également à rmne pas avertir lors d'une tentative de suppression d'un fichier qui n'existe pas déjà. Il -fvaut mieux utiliser le drapeau uniquement lorsque c'est vraiment nécessaire. rm -rsans -fabsolument ne "adresse le contenu du dossier".
Eliah Kagan
wat? Honnêtement, je ne sais pas ce que je disais ... oublie ça :)
Eliran Malka
Je devais enlever le principal / pour le faire fonctionner pour moi. C'est-à-dire:sudo rm -r -f path/
Elon Zito
16

Une chose à noter est que le dossier doit être vide, puis exécutez la commande suivante

rmdir directory_name

Une autre chose à noter est que la commande que vous tapez ne doit pas commencer par une barre oblique (/), sauf si le dossier est sous la racine.

La dernière option, et vous devriez faire très attention lorsque vous utilisez celle-ci, est de forcer la suppression du répertoire en question, y compris de tout autre fichier / répertoire qu'il contient.

rm -rf directory_name

À votre santé.

tmwanik
la source
11

Pour un débutant, je ne recommanderais pas de prendre l'habitude d'utiliser rm -Rfou rm -r -f, cela vous mordra au visage tôt ou tard. Plus sûr serait de créer un alias à l'échelle du système. Terminal ouvert: Ctrl+ Alt+ T, puis tapez:

alias rm='rm -i'

Donc, vous êtes invité avant d'effacer toutes vos photos de vacances par accident. La deuxième recommandation que je voudrais ajouter est d'utiliser rmdir, il se plaindra des répertoires non vides et c'est exactement ce que vous voulez en tant que newbee.

Mais dans le sens de la question, la réponse est la même que celle donnée ici, utilisez -fpour effacer un dossier.

Glenn Plas
la source
3

Si vous êtes sûr que le répertoire existe, alors:

(sudo) rm -rfv /path/

Pour supprimer tout le répertoire de vos dossiers et fichiers

KakashiSan
la source
1
N'utilisez pas d'espaces dans les chemins car vous pourriez essayer de supprimer récursivement tout le système de fichiers de/
cauon
a travaillé pour moi. J'ai utilisé pour supprimer le dossier hadoop <code> sudo rm -rfv hadoop / </ code>
Sumit Ramteke
2

Si vous souhaitez supprimer tous les fichiers du répertoire et que vous souhaitez simplement conserver le répertoire ou certains fichiers, utilisez-le (avec l' -iindicateur, vous pouvez conserver le fichier ou le supprimer).

rm -i *

-i est pour interactif et vous invitera chaque fois qu'il y a un fichier à supprimer.

Si vous devez supprimer des sous-répertoires le long du répertoire parent, utilisez:

rm -rf NameOfDirectory
OmiPenguin
la source