Linux操作系统之rm命令详解
前言
1、rm 命令是remove 的缩写,Linux中 rm 命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
2、rm是一个危险的命令,使用的时候要特别当心,在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西。
语法
rm [选项] 目录名称
参数如下
-d或–directory 直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或–force 强制删除文件或目录,忽略不存在的文件,不提示确认。
-i或–interactive 删除既有文件或目录之前先询问用户。
-I 在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生。
-r或-R或–recursive 递归删除,将指定目录下的所有文件及子目录一并删除。
-v或–verbose 显示指令执行过程。
–help 在线帮助 查看该命令功能和可带参数等。
常用范例
例一:删除文件系统会先询问是否删除
命令:rm 文件名
输入rm test.txt命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则输入n。
[root@localhost games]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 13 11:19 test.txt
[root@localhost games]# rm test.txt rm:是否删除普通空文件 'test.txt'?y
[root@localhost games]# ll 总用量 0
例二:强行删除文件系统不再提示
命令:rm -f 文件名
[root@localhost games]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 13 11:23 test1.txt [root@localhost games]# rm -f test1.txt [root@localhost games]# ll 总用量 0
例三:删除多个文件并在删除前逐一询问确认
命令: rm -i *.txt
[root@localhost games]# ll 总用量 0 -rw-r--r--. 1 root root 0 5月 13 11:25 test1.txt -rw-r--r--. 1 root root 0 5月 13 11:25 test2.txt [root@localhost games]# rm -i *.txt rm:是否删除普通空文件 'test1.txt'?y rm:是否删除普通空文件 'test2.txt'?y [root@localhost games]# ll 总用量 0
例四:将 test1子目录及子目录中所有文件都删除
命令: rm -r test1
执行 rm -r命令如果该目录里面有文件,会首先进入该目录,把文件删除后再删除该目录。(先删除目录中的文件或子目录再删除该目录)
执行rm -rf 命令时则不会一一确认是否删除。
[root@localhost test]# ll 总用量 0 drwxr-xr-x. 2 root root 23 5月 13 14:06 test1 drwxr-xr-x. 2 root root 6 5月 13 14:06 test2 [root@localhost test]# rm -r test1 rm:是否进入目录'test1'? y rm:是否删除普通空文件 'test1/test1.txt'?y rm:是否删除目录 'test1'?y [root@localhost test]# ll 总用量 0 drwxr-xr-x. 2 root root 6 5月 13 14:06 test2
例五:删除以 t 开头的文件(不能删除目录)
命令: rm — t
[root@localhost test]# ll t* 总用量 0 -rw-r--r--. 1 root root 0 5月 13 14:15 t -rw-r--r--. 1 root root 0 5月 13 14:16 t1 drwxr-xr-x. 2 root root 6 5月 13 14:06 test2 [root@localhost test]# rm -- t* rm:是否删除普通空文件 't'?y rm:是否删除普通空文件 't1'?y rm: 无法删除'test2': 是一个目录
命令:rm ./t
[root@localhost test]# ll t* 总用量 0 -rw-r--r--. 1 root root 0 5月 13 14:20 t2 -rw-r--r--. 1 root root 0 5月 13 14:20 t3 drwxr-xr-x. 2 root root 6 5月 13 14:06 test2 [root@localhost test]# rm ./t* rm:是否删除普通空文件 './t2'?y rm:是否删除普通空文件 './t3'?y rm: 无法删除'./test2': 是一个目录 [root@localhost test]# ll t* 总用量 0 drwxr-xr-x. 2 root root 6 5月 13 14:06 test2