rm 命令

分类:常用对照表
rm 命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

rm 命令说明及用法

返回常用 Linux 命令

说明

rm 命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:

使用 rm 命令要格外小心,因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。

rm 命令可以用 -i 选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入 y 并按 Enter 键确认,才能删除文件。如果仅按 Enter 键或其他字符,文件不会被删除。

语法

rm  [选项] [参数]

选项

-d:直接把欲删除的目录的硬连接数据删除成 0,删除该目录
-f:强制删除文件或目录
-i:删除已有文件或目录之前先询问用户
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理
--preserve-root:不对根目录进行递归操作
-v:显示指令的详细执行过程

参数

文件:指定被删除的文件列表,如果参数中含有目录,则必须加上 -r 或者 -R 选项。

实例

1、交互式删除当前目录下的文件 testexample

rm -i test example
Remove test ?n(不删除文件test)
Remove example ?y(删除文件example)

2、删除当前目录下除隐含文件外的所有文件和子目录

# rm -r *

应注意,这样做是非常危险的!

3、rm 命令删除文件

# rm 文件1 文件2 ...
rm testfile.txt

4、rm 命令删除目录

rm -r [目录名称]
-r 表示递归地删除目录下的所有文件和目录。
-f 表示强制删除

rm -rf testdir
rm -r testdir

5、删除操作前有确认提示

rm -i [文件/目录]
rm -r -i testdir

6、rm 忽略不存在的文件或目录

-f 选项(LCTT 译注:即 “force”)让此次操作强制执行,忽略错误提示
rm -f [文件...]

7、仅在某些场景下确认删除

选项 -I,可保证在删除超过 3 个文件时或递归删除时(LCTT 译注: 如删除目录)仅提示一次确认。
rm -I file1 file2 file3

8、删除根目录(慎用)

# 请务必谨慎使用
rm -rf /

删除根目录 / 是 Linux 用户最不想要的操作,这也就是为什么默认 rm 命令不支持在根目录上执行递归删除操作。然而,如果你非得完成这个操作,你需要使用 --no-preserve-root 选项。当提供此选项,rm 就不会特殊处理根目录 / 了。