如何从命令行删除 Linux 中的文件和目录
本指南将教您如何使用命令行快速轻松地删除 Linux 中的文件和目录。
Linux 的基本文件系统管理任务之一涉及创建、修改和删除不同类型的文件和目录。因此,了解文件删除的一些基本工具和概念非常方便,并且可以节省您的时间。
相关:通过示例解释初学者的 20 个基本 Linux 命令
本文将向您展示在 Linux 中删除文件和目录的几种方法。我们还将提供有关从 Linux 系统中删除文件和目录时可以使用的各种标志和选项的简要信息。
使用 rm 命令删除文件
要删除文件,您需要使用rm(删除)命令并告诉它您要删除哪个或哪些文件。它具有以下一般语法:
rm [OPTIONS] FILENAME例如,要删除名为 file.jpg 的单个文件,请在命令行中键入以下内容:
rm file.jpgrm 命令会显示写保护文件的确认对话框。否则,该命令将直接删除该文件。要使 rm 在删除文件之前始终提示,您可以使用 -i 标志:
rm -i file.jpgLinux 中的 rm 命令还可以删除多个文件。绕过以空格分隔的多个文件名作为 rm 的参数,您可以删除多个文件:
rm file1.jpg file2.jpg file3.jpg您可以使用-f(强制)标志删除写保护的文件而不要求确认:
rm -f file.jpg此外,rm 命令还支持正则表达式。如果要删除所有三个文件(file1.jpg、file2.jpg 和 file3.jpg),您可以使用:
rm file*.jpg如果您需要,这里是 rm 命令的手册页。
使用 unlink 命令删除文件
unlink 命令还会删除给定文件。这是另一种在 Linux 中删除文件的方法,尽管不是很流行。
您可以使用unlink命令永久删除名为file.jpg的单个文件,方法是输入以下内容:
unlink file.jpg您可能想知道 rm 和 unlink 之间有什么区别。
最重要的是,这两个命令都是同一个基本函数(unlink() 系统调用)的包装器。但 unlink 命令受到以下限制:
- 无法删除目录。
- 无法递归。
- 一次只能接受一个参数。
- 除了
--help和--version之外没有其他选项。 - 更少的健全性检查。
有关 Linux 中unlink 命令的更多信息,请参阅其手册页。
使用 rm 命令删除目录
通过在 Linux 中的 rm 命令中添加 -r(递归)选项,您可以删除目录及其所有内容(文件、子目录等)。
例如,要删除名为 myfiles 的目录,请在命令行中键入以下内容:
rm -r myfiles/如果指定的目录或其中的文件受到写保护,rm 命令会要求您验证该过程。要在不确认的情况下删除目录:
rm -rf myfiles/要删除多个目录(例如,myfiles1、myfiles2 和 myfiles3),请键入 rm -rf,后跟目录名称或目录路径,以空格分隔,如下所示:
rm -rf myfiles1/ myfiles2/ myfiles3/使用 rmdir 命令删除目录
这里需要注意的是,在 Linux 中删除空目录时使用 rmdir 命令。如果您需要删除非空目录,请使用rm命令。
如果指定的目录不为空,则输出将显示错误,如下所示。
rmdir: failed to remove 'myfiles/': Directory not empty要删除单个空目录,请键入 rmdir,后跟目录名称或目录路径,如下所示:
rmdir myfiles/要删除多个目录(例如,myfiles1、myfiles2 和 myfiles3),请键入 rmdir,后跟目录名称或目录路径,以空格分隔,如下所示:
rmdir myfiles1/ myfiles2/ myfiles3/如果该命令在任何列出的目录中找到内容,它将跳过该目录并转到下一个目录。
将 -p 选项添加到 rmdir 命令后,每个目录参数都被视为路径名,如果路径名已经为空,则从最后一个目录开始删除所有组件成分。
例如,以下命令将删除父目录 myfiles 及其子目录 subdir。
rmdir -p myfiles/subdir/如果您需要,请查看unlink命令的手册页。
结论
到现在为止,您应该清楚地了解如何从命令行删除Linux中的文件和目录。
请务必记住,当您在 Linux 中使用 rm、unlink 和 rmdir 删除文件或目录时,该文件或目录会立即被删除,而不是被删除。走向垃圾。因此,使用这些命令时需要小心,因为您将无法恢复已删除的文件。
练习本文中提到的示例,您应该做好准备了。

