Linux rm | Linux 删除文件17 Mar 2025 | 4 分钟阅读 “rm”的意思是“remove”(移除)。此命令用于删除文件。与许多其他图形界面(GUI)不同,命令行没有回收站或废纸篓来恢复文件。因此,在使用此命令时要格外小心。一旦删除了一个文件,它将被永久删除。 rm 简介rm 是 Unix 和其他类 Unix 系统中的一个通用命令。它用于从文件系统中删除符号链接、目录和计算机文件等对象。此外,它还可以删除套接字、管道和设备节点等特殊文件,这与 Microsoft Windows、OS/2 和 MS-DOS 中的 del 命令类似。该命令在 EFI shell 中也可用。 rm 概述rm 命令使用 unlink 系统调用从文件系统中删除对象引用。对象可能拥有两个或多个引用(例如,一个文件使用两个名称),只有当所有引用都已被删除并且程序尚未打开对象的句柄时,对象本身才会被删除。
rm 的简要历史在一些旧版本的 Unix 中,rm 命令会删除空目录。但是,通过使用 -d 选项,可以在某些版本的 rm 命令中实现此行为,例如,源自 4.4BSD-Lite2 的 BSD 系统(如 macOS、OpenBSD、NetBSD 和 FreeBSD)。 此外,与 GNU coreutils 一起打包的 rm 版本提供了 -d 标志以方便兼容性。标准 rmdir 命令也提供了类似的功能。在 Version 7 中,-i 标志被“delete from switches”或 dsw 取代,后者出现在 Version 1 中。 语法 rm 命令会删除后面带有选项的文件名。用户可以使用相对路径或文件的完整路径来命名要删除的文件。默认情况下,rm 命令不删除目录。`rm foo` 命令会删除用户当前目录中的 `foo` 文件。 rm 命令可以通过 shell 别名函数 `rm -i` 来覆盖,以忽略意外的文件删除。但是,如果用户想在未经确认的情况下删除大量文件,他们可以通过手动包含 -f 标志来设置 -i 标志。不幸的是,这种方法在使用通配符时会产生危险的习惯,导致其意外删除版本。 rm -rf 命令经常出现在关于 Unix 灾难的轶事和笑话中,包括在电影 《玩具总动员 2》 制作过程中丢失的许多文件。如果由超级用户执行,该命令的 rm -rf / 版本将导致当前文件系统可访问的所有文件被删除。 在父目录上,删除文件在大多数文件系统上需要写入权限。要删除目录,必须递归地删除其所有内容。这需要对该目录及其非空子目录具有递归的执行和写入权限。需要读取权限才能指定目录内容以删除它们。有时,这会导致一种奇怪的情况,即非空目录无法删除,因为没有写入权限,因此无法删除其内容;尽管如果一个类似的目录是空的,就可以删除它。 示例 ![]() 在上方的快照中,我们已经使用“rm”命令永久删除了文件 myfile1。 rm 选项
下一个主题Linux cp 命令 |
我们请求您订阅我们的新闻通讯以获取最新更新。