使用 rmdir 命令删除目录

rmdir 是您将在开始时学习但很少使用的基本 Linux 命令之一。

为什么? 因为听起来好像 rmdir 用于删除目录(即文件夹),事实上,默认情况下,它只删除空目录。

使困惑? 不要这样。 让我们详细看看。

在 Linux 中使用 rmdir 命令

rmdir 有一个简单的语法:

rmdir [option] directory

让我们看看它的用法。

删除一个空目录

空目录中不包含任何文件或目录。 如果您有一个空目录,则可以轻松将其删除。 不需要其他选项。

rmdir directory_name

删除非空目录

如果您尝试删除包含文件和目录的目录,该命令将失败并显示一条错误消息,指示“目录不是空的”。

您可以使用 rmdir 强制删除目录及其所有内容,如下所示:

rmdir --ignore-fail-on-non-empty directory_name

虽然它有效,但您永远不会看到有人使用这种方法。 在 Linux 中删除非空目录的更常见(或流行)方法是使用 rm 命令。

rm -r directory_name

删除目录和父目录

如果你有一个嵌套的目录结构,你可以指定选项 -p 来删除完整的结构。

所以如果你有目录结构a/b/c,你可以使用:

rmdir -p a/b/c

它类似于 rmdir a/b/ca/ba.

请注意,目录也需要为空。 或者,您可以使用 --ignore-fail-on-non-empty 旗帜。

详细模式

您还可以使用详细模式。 您可能已经注意到 rmdir 命令不显示任何成功命令的结果。

如果你想看到,你可以使用详细选项 -v

rmdir -v directory
以详细模式删除目录

这就是 rmdir 命令的全部内容。 由于大多数情况下您将是非空文件夹,因此 rmdir 将无法删除它们。 这 --ignore-fail-on-non-empty 不是很多人记得的,这就是为什么 rm -r 命令更受欢迎。