rm

删除文件或目录


语法格式

rm [-fiIrRv] [gnu-opts]] files
rm [--help] [--version]

命令简介

rm命令用于删除指定的文件或目录。其中,files是一个或一组文件或目录。实际上,除非指定了“-r”选项,rm命令通常并不删除目录。

如果指定了“-I”选项,且欲删除的文件超过3个,或指定了“-r”选项,rm命令将会提请用户确认是否继续执行删除动作,如果回答是否定的,整个删除操作将会终止。

否则,如果用户没有写某个文件的权限,也未指定“-f”选项,或指定了“-i”选项,rm命令也会提示用户是否删除文件。如果回答是否定的,rm将会跳过相应的文件。

注意,使用rm命令删除文件之后,系统只是释放了文件数据占用的存储空间,并没有清除磁盘数据块中的数据内容,因此仍有可能恢复文件数据。若想确保删除的文件数据无法恢复,可以考虑使用shred命令。

命令选项

-f, --force  强制删除文件,删除之前不做任何提示;忽略不存在的文件。

-i  在删除文件之前提请用户确认,避免误删文件。

-I  在删除3个以上的文件或递归地删除目录文件之前,提示用户干预一次。与“-i”选项相比,“-I”选项大大减少了干预次数,但仍然提供一定的保护,避免一次犯错的机会。

-r, -R, --recursive  递归地删除目录及其中的所有文件,包括子目录。

-v, --verbose  显示rm命令的处理过程与动作。

--interactive[=when]  采用指定的提示方式,提示用户干预。其中when可以指定为 never(不提示)、once(仅提示一次,相当于“-I”选项)或always(相当于“-i”选项)。若未指定提示方式,在删除文件之前,部分Linux系统通常会提示用户确认。

--one-file-system  在递归地删除目录文件时,跳过与命令行参数位于不同文件系统中的任何目录或文件。

--preserve-root  禁止递归地删除根目录及其中的所有文件,这是默认的做法。

应用实例

1. 使用rm命令删除所有的目标文件。

$ rm *.o
$

2. 使用rm命令删除一个文件名首字符为连字符的文件“-foo”(两个命令中的任何一个均可)。

$ rm -- -foo
$ rm ./-foo
$

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z