如何在 Linux 中删除包含文件的完整目录

Linux 命令行是一个强大的工具,可以让您比通过 GUI 更快、更轻松地完成许多事情。它的基本功能之一是创建和删除文件和文件夹,尽管我们将在本文中坚持删除文件夹。

如何在 Linux 中删除包含文件的完整目录

继续阅读以了解如何使用“rm”和“rmdir”命令删除不再需要的文件夹、子文件夹和文件。

使用“rm”删除目录

您可以使用许多命令来删除目录。选择应取决于您想做什么以及如何完成。 Linux 命令行在这方面非常灵活,甚至可能比它的 Windows 和 Mac 同行更灵活。

值得注意的是,Linux 没有像 Mac 和 Windows 操作系统那样区分文件夹和文件。相反,它将文件夹视为文件组。在本节中,我们将检查 rm 命令。让我们开始吧。

使用“rm”删除目录

rm –d 目录名称

上面的命令只会让你删除一个空目录。这是删除/删除文件夹的最基本命令。

rm –d nameofthedirectory1 nameofthedirectory2

上面显示的命令将删除多个文件夹。这里的问题是,就像前一个一样,它们都必须是空的。如果碰巧您命名的第一个文件夹不为空,命令行将不会尝试删除其他文件夹。它只会停止,而不会向您显示错误消息。

rm –r nameofthedirectory1 nameofthedirectory2

上面的命令将删除所有指定的文件夹、它们的子文件夹和其中的文件。这要归功于“-r”选项替换了上一个命令中的“-d”。在 Linux 命令行中,“-r”代表递归。它可以单独使用,也可以与其他选项结合使用。

rm –rf 目录名

当您执行“rm –r”命令时,Linux 命令行会询问您是否允许删除任何写保护的子文件夹和文件。但是,如果您输入“rm –rf”,则不会提示您。字母“f”代表“力”。

使用“rm –rf”命令删除文件夹和文件时应小心,因为您可能会丢失重要数据或损坏操作系统。在 Linux 系统上可以比在 Windows 或 Mac 上更容易地删除系统文件和文件夹。

sudo apt-get 安装树

为了更好地了解您将要删除的内容,您应该通过 apt-get 实用程序安装树包。这适用于 Ubuntu 和 Debian 系列的其他产品。如果您使用的是其他发行版,请使用它自己的包管理工具。当您执行上述命令时,命令行会显示您所在文件夹的文件夹和文件结构。这样您就可以轻松检查是否有任何文件或子文件夹应该保持完整。

树路径/到/您的/目录

上面显示的命令将允许您查看 Linux 系统中另一个文件夹的结构。

高级命令

“rm”命令还有其他变体,例如“–no-preserve-root”、“–preserve-root”、“–one-file-system”等。但是,它们适用于有经验的命令行用户。如果您在其中之一上犯了错误,您可能会删除计算机上的部分甚至全部系统文件。由于它们的复杂性,我们将它们保存在另一个命令行教程中。

使用 rmdir 删除目录

您还可以使用 rmdir 命令集来删除文件夹。但是,rmdir 命令只能处理空文件夹,不能删除标记为删除的文件夹中包含的文件。有几个有用的 rmdir 命令,我们将在本节中介绍它们。

使用 rmdir 删除目录

但是,您可以使用 parent 选项欺骗命令行以删除非空文件夹,但稍后会详细介绍。

rmdir 目录名

这是最基本的“rmdir”命令。它将删除您当前位置目录中的一个空目录。例如,如果您的当前位置是桌面并且其中有一个空的“新文件夹”,则此“rmdir”命令将处理它。

rmdir nameofthedirectory1 nameofthedirectory2

如果您有多个要删除的文件夹,您可以使用上述“rmdir”命令的变体。所有指定的文件夹(目录)都将被删除,但它们必须包含在您当前所在的目录中。要删除其他地方的目录,请参阅下一个命令。

rmdir /path/to/your/directory

Linux 命令行允许您从当前位置删除任何目录,无论它在哪里。为此,您必须输入要删除的一个或多个目录的完整路径。

如果您尝试删除包含子文件夹和/或文件的文件夹,命令行将显示一条错误消息,指出:目录不为空。不用说,它不会删除指定的文件夹。

如果您指定了三个文件夹并且第一个文件夹被证明不是空的,命令行将在它运行到第一个文件夹后立即停止处理您的命令。您将收到与前一种情况相同的错误消息,并且命令行不会尝试删除列表中的其他文件夹。

您可以通过添加以下选项来解决此问题:–ignore-fail-on-non-empty。这将强制命令行继续执行命令,即使它遇到非空文件夹。该命令可能如下所示:rmdir –ignore-fail-in-non-empty NewFolder1 NewFolder2 NewFolder3。

rmdir –p nameofthedirectory1 nameofthedirectory2

上面的命令可能会帮助你欺骗 Linux 删除一个非空文件夹。它使用“-p”选项,也称为“父”选项。这是它的工作原理。

假设您有一个名为 Pics 的文件夹和一个名为 ColorPics 的文件夹。让我们假设后者是空的,并且是 Pics 文件夹中的唯一项目。当您执行命令“rmdir –p ColorPics Pics”时,命令行将删除 ColorPics 文件夹,因为其中没有任何内容。之后,它会检查Pics文件夹的状态,确定它也是空的,然后将其删除。

了解命令行的力量

命令行允许你在 Linux 系统上做很多事情。如果您没有太多经验,请小心,因为在 Linux 上比在 Windows 和 Mac 上更容易损坏系统。

您以前是否使用过命令行删除文件夹和文件?您使用了哪些命令?如果您认为我们错过了一些不错的选择,请在下面的评论部分告诉我们。