rm 命令
rm 是强大的删除命令,可以永久性地删除文件系统中指定的文件或目录。
没有使用 -r 选项, rm 不会删除目录。
使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。
实例:
删除任何 .log 文件,删除前逐一询问确认:
rm \-i \*.log
删除 test 子目录及子目录中所有档案删除,并且不用一一确认:
rm \-rf test
删除以 -f 开头的文件
rm \-- \-f\*
基本格式:
[root@localhost ~]# rm[选项] 文件或目录
选项 |
作用 |
-f: |
直接删除目标文件或目录。 |
-i: |
删除文件或目录之前,系统会给出提示信息, 使用 -i 可以有效防止不小心删除有用的文件或目录。 |
-r: |
递归删除,用于删除目录,可删除指定目录及包含的所有内容 |
基本用法
rm 命令如果任何选项都不加,则默认执行的是"rm -i 文件名",也就是在删除一个文件之前会先询问是否删除。例如:
[root@localhost ~]# touch cangls
[root@localhost ~]# rm cangls
rm:是否删除普通空文件"cangls"?y
#删除前会询问是否删除
删除目录
如果需要删除目录,则需要使用"-r"选项。例如:
[root@localhost ~]# mkdir -p /test/lm/movie/jp
#递归建立测试目录
[root@localhost ~]# rm /test
rm:无法删除"/test/": 是一个目录
#如果不加"-r"选项,则会报错
[root@localhost ~]# rm -r /test
rm:是否进入目录"/test"?y
rm:是否进入目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm/movie/jp"?y
rm:是否删除目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm"?y
rm:是否删除目录"/test"?y
#会分别询问是否进入子目录、是否删除子目录
强制删除
如果要删除的目录中有 1 万个子目录或子文件,那么普通的 rm 删除最少需要确认 1 万次。所以,在真正删除文件的时候,我们会选择强制删除。例如:
[root@localhost ~]# mkdir -p /test/lm/movie/jp
#重新建立测试目录
[root@localhost ~]# rm -rf /test
#强制删除
加入了强制功能删除会变得简单,但数据强制删除之后无法恢复,除非依赖第三方的数据恢复工具.