原文:Remove Directory in Linux – How to Delete a Folder from the Command Line,作者:Zaira Hira

Linux CLI 是一个强大的工具,可以帮助你完成复杂的任务。

你需要执行的常见操作之一是删除东西。就像创建文件和文件夹一样,从 Linux 命令行中删除它们是你经常要做的事情。

在这篇文章中,我们将讨论如何从命令行中删除目录。我们将讨论语法和一些例子。在这些例子中,我使用的是 Ubuntu。

Linux rm 命令的语法

在 Linux 中,你可以使用 rm 命令从命令行中删除一些东西。rm 命令的语法是这样的:

rm [flags] directory name

在删除一个目录时,你需要使用的一些重要标志如下:

  • -r-R--recursive [Recursion] - 递归地删除目录及其内容
  • -v--verbose [Verbose] - 该选项在 CLI 上输出正在进行的细节
  • -f--force [Force] - 这个选项忽略了不存在的文件,并且从不提示你
  • -i [Interactive]  - 当你想在每次删除之前被提示时,使用这个标志
  • -d [Directory] - 这个选项只在目录是空的时候起作用

⚠ 在使用 rm 命令时要小心,需要确保任何重要的数据都有备份。

如何确定要删除的文件夹

由于我们正在讨论如何删除文件夹,我们需要非常确定我们确实在删除一个文件夹。我们可以用第一列中的 d 标志来识别一个文件夹/目录。注意,文件的第一个标志是 -

image-55

Linux rm 命令的例子

在我们当前的文件夹中,有 2 个文件夹 CSharpLabPythonLab。它们的内容如下所示:

image-48

请注意,CSharpLab 是一个空目录。

如何删除一个不为空的文件夹

让我们先删除 PythonLab 文件夹。

rm -rvi PythonLab/

其中,

  • -r 递归地删除所有文件和文件夹。注意在下面的输出中,所有的文件(man.pycalculator.pypalindrome.py)和文件夹(/lib)都被删除。
  • -v 分享细节
  • -i 使得删除是交互式的,这意味着它在删除任何东西之前会询问
image-53

如何删除一个空文件夹

让我们试着删除 CSharpLab 文件夹。由于这个文件夹是空的,我们可以使用 -d 标志。

rm -d CSharpLab/
image-50
CSharpLab 目录被删除

如何使用 -f "force" 标志

现在让我们看看 -f 标志如何工作。这将强制删除文件夹,没有任何提示或警告。在出现错误的情况下,-v 仍然会忽略,并删除有效的文件。

在下面的例子中,文件夹名称中有一个错别字。注意,这个错别字被忽略了。原始文件是完整的。

image-51

总结

当你需要在归档后删除文件夹时,当删除重复的文件夹时,或者当删除未使用的文件夹时,以及更多的时候,删除目录是很有用的。

所有这些任务都是为了创造更多的磁盘空间。我希望你觉得这篇文章对你有帮助。

让我们在 Twitter 上联系!

这里阅读我的其他文章。

让我们在 Discord 上聊天。