如何删除文件夹?

我是一个新用户,我正在尝试删除一个特定的文件夹。我使用的命令是sudo rm /path/,但是它没有起作用。请问正确的命令是什么?
我试图删除的是一个文件目录,但是我收到一个空目录的消息。
6个回答

确保文件夹真的是空的(可能有隐藏文件/文件夹)。再次查看文件内容。
sudo ls -lha /path/

如果你非常确定它不包含任何你想要的内容(包括子目录),请使用以下命令将其删除。
sudo rm -r -f /path/
  • -r 是指 递归,因此它会删除文件夹和子文件夹,即使它们不为空。
  • -f 是指 强制(这可能是不必要的)。

2@EliranMalka -f标志对于rm直接删除指定文件夹中的项目是必要的,我猜这就是你所说的“处理文件夹内容”的意思。相反,-f代表强制,即使要删除的文件没有写权限(rm: remove write-protected regular file ‘foo’?),也不会提示确认,并且还会导致rm在尝试删除已经不存在的文件时不发出警告。最好只在真正需要时使用-f标志。没有-frm -r绝对“处理文件夹内容”。 - Eliah Kagan
什么?老实说,我真不知道自己在说什么...算了吧 :) - Eliran Malka
1我必须删除前导的 / 才能让它对我起作用。例如:sudo rm -r -f path/ - Elon Zito

需要注意的一点是文件夹应该是空的,然后运行以下命令。
rmdir directory_name

另外需要注意的是,您输入的命令不应以斜杠(/)开头,除非该文件夹位于根目录下。
最后一个选项,您在使用时应非常小心,即强制删除相关目录,包括其中的任何其他文件/目录。
rm -rf directory_name

干杯。

对于初学者,我不建议养成使用rm -Rfrm -r -f的习惯,这迟早会让你吃大亏。更安全的做法是创建一个系统范围的别名。打开终端:Ctrl+Alt+T,然后输入:
alias rm='rm -i'

所以在意外删除所有度假照片之前,你会收到提示。我想要添加的第二个建议是使用rmdir命令,它会抱怨非空目录,而这正是新手所需要的。
但就问题本身而言,答案已经在这里给出了,使用-f来删除文件夹。

如果你确定目录存在,那么:
(sudo) rm -rfv /path/

删除整个目录及其文件夹和文件。

1在路径中不要使用空格,否则可能会尝试递归删除整个文件系统从/开始。 - cauon
对我来说很有效。我使用以下命令删除了hadoop文件夹:<code>sudo rm -rfv hadoop/</code> - Sumit Ramteke

如果您想删除目录中的所有文件,并只保留目录或某些文件,请使用(使用-i标志,您可以保留文件或删除它)。
rm -i *

-i 是用于交互式操作,每当有文件需要删除时会提示您。

如果您需要删除父目录下的子目录,请使用:

rm -rf NameOfDirectory

如果您想删除内容并覆盖驱动器上的数据,请尝试使用shread。它只会删除文件,如果要删除目录中的所有内容,请使用;
sudo find <directory_name> -depth -type f -exec shred -vz -n 5 --remove=wipe {} +

然后删除空目录
rm -rf <directory_name>