删除文件或目录
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