掌握 macOS 命令行:如何使用终端删除文件和文件夹

macOS Big Sur 终端图标

当涉及到快速处理日常任务时,命令行可能既强大又危险。以本文中的命令为例:rm 命令允许您删除(或删除)文件。 rmdir 命令对目录(也称为文件夹)执行相同的操作。但请注意:与从 Finder 将文件移至废纸篓不同,如果使用这些命令,则无法将它们取回。

不过,如果您想利用终端的功能,这是一个您不能忽视的命令。我将向您展示如何添加保护措施以确保您只删除真正想要删除的文件。

为什么要费劲用命令行删除文件?

使用 Finder 删除文件并不太困难,而且如果您改变主意,您可以随时从”废纸篓”中删除文件。那么为什么还要使用命令行呢?以下是一些原因:

  • 您可以使用通配符快速高效地删除多个文件。
  • 遇到顽固错误时,您可以从”回收站”中删除文件。
  • 您可以删除 Finder 中隐藏的文件。这些文件可能包含某些应用或 macOS 部分的设置,在其名称前包含一个点 (.),并且 Finder 不会显示它们。
  • 如果您因 Mac 出现故障而无法访问 Finder,您或许可以使用命令行来排查问题。

如何删除文件

使用 rm 命令删除文件非常容易,非常危险。这是一个例子。启动终端(在 /Applications/Utilities 文件夹中)后,输入 cd ~/Desktop 以导航到桌面目录。要删除文件,请输入 rm filename,并将 filename 替换为要删除的文件的实际名称。 (如果您的文件名包含空格,则需要将该名称放在引号中:"For example.txt"。)如果您在此处有一个名为 MyFile.rtf 的文件,永远、永远不想再看到,你可以运行这个命令:

rm MyFile.rtf

当你按下回车键时,文件就会消失! Mac 不会确认您是否要删除该文件。它将消失,为历史干杯。你无法取回它。

您甚至可以在单个命令中删除多个文件。如果您的桌面上有三个文件要删除,并且您想一次将它们全部删除,您可以这样做(如果您的文件名带有空格,则需要将名称放在引号中:<代码>“示例.txt”。):

rm MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf

再次强调,按 Return 键会完成肮脏的工作。

值得重复一下:此命令会删除文件。它用核武器摧毁了他们。你无法让它们回来。您无法单击”废纸篓”图标来检索您意外删除的文件。

但是有一个安全网:它是 -i (交互式)标志。因此,如果您感到谨慎,可以使用此标志运行上述命令,如下所示:

rm -i MyFile.rtf

或者,在删除多个文件的情况下:

rm -i MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf

在每种情况下,按 Return 键实际上不会激活 rm 命令,因为 -i 标志充当暂停按钮。运行这些命令时,您将在终端中看到以下内容:

macOS Big Sur 删除文件确认

要继续,您需要输入 yes,或简单地输入 y。如果有多个文件,您将看到每个文件都有一个查询。诚然,快速输入 y 很容易养成习惯,但这个问题的目的是让您停下来仔细思考是否真的要删除该文件。

如何删除空目录(又称文件夹)

删除目录或文件夹有点不同。如果您尝试在目录上运行 rm 命令,您将看到以下消息:

macos big sur 终端rm 目录错误

您无法使用 rm 命令删除目录。

有一个用于删除目录的特殊命令:rmdir。因此,要删除名为 Archives 的目录,请运行以下命令(如果您的目录名称包含空格,则需要将该名称放在引号中:"例如"。):

rmdir 档案

您不能将 -i 标志与 rmdir 命令一起使用,因此该命令有点危险。

请注意,此命令仅删除空目录。如果您想删除目录及其包含的文件,请继续阅读。

如何删除目录中的所有内容

rm 命令有一个强大的选项,-R(或 -r ),也称为递归选项。当您对文件夹运行 rm -R 命令时,您是在告诉终端删除该文件夹、它包含的任何文件、它包含的任何子文件夹以及任何文件或文件夹在这些子文件夹中,一直向下。您输入的命令为 m -R directoryname,其中将 directoryname 替换为要删除的目录的名称。 (如果您的目录名称包含空格,则需要将该名称放在引号中:"例如"。)

例如,假设您有一个充满档案的目录,其中包含子目录和文件。从 Finder 或命令行单独删除每个项目可能需要很长时间。所以只需运行这样的命令:

rm -R 档案

请记住,此删除是最终的。但您可以使用 -i 标志进行保护:

rm -iR 档案

这将要求您确认删除每个项目。这可能很烦人,但除非您确实确定要删除所有这些文件,否则最好保持安全。

无法清空 Finder 中的垃圾箱?使用终端

rm -R 命令什么时候可以派上用场?假设您无法清空 Mac 上的废纸篓。文件可能被锁定,或者您可能无权删除一个或多个文件。这种故障很烦人,但您可以使用命令行提供简单的解决方案。

在终端中,输入以下内容:

rm -R

然后输入一个空格。

在 Finder 中,打开”废纸篓”,然后将其中包含的项目拖到”终端”窗口中。您将看到一个或多个文件,其路径例如为 /Users/.Trash/file.txt。

如果有很多文件,您可能会发现生成的列表(全部在一个长行上,环绕在终端窗口中)可能会很长。如果您绝对确定要删除所有这些项目,请按 Return 键。终端将清空垃圾箱。命令行获胜!

macOS Big Sur 终端拖放垃圾箱

想要了解更多信息?请参阅我们关于使用命令行导航文件系统的文章,从手册页学习,以及复制和移动文件