如何在 Linux 中删除文件

如同任何操作系统一样,文件管理是使用 Linux 的重要组成部分。 有时,我们需要删除文件,以便释放存储空间或移除不再需要的文件。虽然这听起来像一项基本操作,但在 Linux 中删除文件对于新手用户来说可能存在挑战。 Linux 提供了多种文件删除方法,包括命令行界面 (CLI) 和图形用户界面 (GUI) 等。本指南将探讨五种不同的 Linux 文件和文件夹删除方法,让我们开始吧。

2023 年在 Linux 中删除文件的方法

接下来,我们将详细介绍如何通过文件管理器删除文件,并介绍一些 Linux 命令来实现这一目标。 本教程以 Ubuntu 20.04 LTS 系统和 Nautilus 文件管理器为例,但请放心,这些方法同样适用于其他 Linux 发行版。

使用文件管理器在 Linux 中删除文件

在 Linux 中临时删除文件

1. 若要临时删除文件,请打开您的文件管理器,并导航至您要删除的文件所在的目录。

2. 接着,选中您想要删除的文件,并按下键盘上的“Delete”键。

3. 您还可以右键单击选中的文件,并选择“移至垃圾箱”选项。

通过文件管理器删除的文件将被移动到一个名为“垃圾箱”的新位置,类似于 Windows 中的回收站。

永久删除 Linux 中的文件

若要使用文件管理器在 Linux 中永久删除文件,请选中要删除的文件,并同时按下“Shift + Delete”键。 定期清空“垃圾箱”也是一个好习惯,以便回收 Linux 设备上宝贵的存储空间。

在 Linux 中使用终端删除文件

通过命令行删除文件是速度最快的方法。 这里,我们将讨论四个易于使用的命令,包括 rm、unlink、shred 和 find,它们都可以在 Linux 中用于删除文件。

如何在 Linux 中使用 rm 命令

首先,让我们看看 rm 命令。 它是一个功能强大的命令,可以用来删除文件和目录,并提供了大量的选项供您选择。 rm 命令的基本语法如下:

rm [选项] [文件名或目录]

rm 命令支持以下选项:

选项 描述
-f 强制删除。 使用此选项时,用户不会收到确认提示,所有不存在的文件和目录将被忽略。
-i 交互式删除。 使用此选项时,命令将要求用户确认每个文件的删除操作。
-r 递归删除。 使用此选项时,命令将删除指定目录中的所有内容。
-d 此选项用于删除空目录。
-v 此选项将显示当前正在执行的操作的说明。

执行命令后,如果没有输出,则表示命令执行成功。 只有当执行的命令遇到问题时,才会打印错误消息。

删除单个文件

要删除单个文件,而无需考虑它在 Linux 中的具体位置,请使用以下命令:

rm [文件路径]

注意:如果当前目录即为文件所在目录,您可以直接使用文件名,而无需指定完整路径。

删除多个文件

要删除位于不同目录中的多个文件,您只需在命令后依次粘贴文件路径,并用空格分隔。 以下是如何使用此命令:

rm [文件路径 1] [文件路径 2] [文件路径 3]

使用提示删除文件

默认情况下,rm 命令仅在删除写保护文件时才会发出提示。 要在删除每个文件之前获得确认提示,请在 rm 命令中使用 -i 选项,如下所示:

rm -i [文件路径]

强制删除文件

如果您不想在删除文件时看到任何提示,可以使用 -f 选项强制删除文件,如下所示:

rm -f [文件路径]

如果在使用了 -f 选项后仍然看到“Permission Denied”错误提示,请使用 sudo 命令获取 root 权限,如下所示:

sudo rm -f [文件路径]

使用通配符删除文件

在 Linux 中,我们可以使用通配符来匹配并删除一系列文件。 通配符是识别特定命名模式的特殊字符,适用于文件和目录。 通配符主要有以下三种类型:

  • ? 字符:此字符仅匹配任意单个字符。 例如,如果输入为 te?t.txt,那么 ? 字符将匹配文件名中以“te”开头、以“t”结尾,且中间有一个字符的所有文件。
  • * 字符:此字符可以匹配给定字符串中的任意字符任意次数。 例如,如果输入为 t*t.txt,那么 * 字符将匹配文件名中以“t”开头、以“t”结尾的所有字符组合。
  • [] 字符:此字符仅匹配方括号内指定的字符。 例如,如果输入为 te[ab]t.txt,那么它将只匹配 teat.txt 和 tebt.txt 这两个文件名。

我们可以在包括 rm 命令在内的多种命令中使用通配符,如下所示:

rm [通配符].[扩展名]

强烈建议在使用通配符删除文件前,先使用 ls 命令来验证是否匹配了正确的文件名。 否则,错误的操作可能会删除重要的文件。 在确认文件名无误后,您就可以执行带有通配符的 rm 命令。

使用 unlink 命令删除文件

Linux 中的 unlink 命令选项较少,一次只能删除一个文件。 unlink 命令的基本语法如下所示:

unlink [文件名]

使用 shred 命令删除文件

通常情况下,当我们在 Linux 中使用任何命令删除文件时,仅仅是释放了指向内存块的指针,但文件内容仍然存在于内存中。 这使得许多恢复工具能够还原已删除的文件。 如果您希望从内存中永久删除文件,不留任何痕迹,那么就应该使用 shred 命令。 它会多次覆盖文件内容,然后删除文件,使得任何恢复工具(即使使用高级硬件)都几乎不可能恢复该文件。

要在 Linux 中永久删除文件,请使用以下命令:

shred -uz [文件名]

其中,-u 用于删除文件,-z 用于使用零覆盖文件,以隐藏粉碎操作,从而不留下文件痕迹。

使用 find 命令删除文件

当您不清楚文件的确切位置时,可以使用 find 命令删除文件。 在 Linux 中使用 find 命令删除文件的语法如下:

find . -name “[文件名]” -exec rm {} ;

在上面的语法中,find 命令会查找指定的文件名,然后将搜索结果传递给 rm 命令,后者负责删除文件。 反斜杠用于将分号解释为命令终止符。

常见问题解答

如何在 Linux 中删除文件中的内容?

要删除文件内容但保留文件本身,请使用以下命令。 其中,> 字符用于将指定的内容重定向到所提到的文件中。

> [文件名]

如何在 Unix 中删除空文件?

若要删除目录中的空文件,请使用以下命令:

find . -type f -empty -print -delete

为什么我无法在 Linux 中删除文件?

如果您在删除文件时看到类似“Permission Denied”的错误提示,则表示您不具备修改该文件的“写入权限”。

在 Linux 中高效删除文件

在本文中,我们介绍了在 Linux 中通过 GUI 和终端删除文件的几种简单方法。 希望本文能够帮助您理解如何在与 rm 命令结合使用时,find 等命令不仅能够搜索文件,而且还可以删除文件。 此外,请务必在删除文件之前仔细核对,以免误删重要的个人数据。 如果您喜欢使用终端,我们建议您阅读我们关于如何在 Linux 中重命名文件的深入指南。 请在下方的评论区告诉我们您最常用的 Linux 命令。