rm
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
例如:
[root@linus ~]# rm -i initial-setup-ks.cfg
rm:是否删除普通文件 "initial-setup-ks.cfg"? #直接回车
[root@linus ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg #文件还在
语法
rm 【选项】 【参数】
选项
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
–preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
注:rm命令默认加上-i参数
常用实例
例1:强制删除root目录下文件anaconda-ks.cfg
[root@linus ~]# rm -f anaconda-ks.cfg #强制删除没有询问交互
[root@linus ~]# ls
initial-setup-ks.cfg
例2:递归删除/test目录的所有内容
[root@linus ~]# rm /test/
rm: 无法删除"/test/": 是一个目录
[root@linus ~]# rm -r /test/
rm:是否删除目录 "/test/"?y
例3:强制并以递归的方式删除/srv目录,并显示详细过程
[root@linus ~]# rm -rfv /srv/
已删除目录:"/srv/" #因srv目录是个空目录,因此没显示具体删除的文件