“rm -rf *“和 “rm -rf /*“的区别

“rm -rf “和 “rm -rf /“的区别

一旦你执行了上述“rm -rf /” 或者“rm -rf /*”命令,会删除Linux根目录下的所有文件,直接导致服务器瘫痪

1、rm 命令是remove 的缩写,Linux中 rm
命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

2、rm是一个危险的命令,使用的时候要特别当心,在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西。

"rm -rf "
命令会删除当前目录下的所有文件和子目录,但不会删除根目录或其它任何目录。因此,这个命令比较安全,因为它不会影响到整个系统的运行和稳定性。但是请注意,在某些情况下,这个命令可能会误删一些重要的文件,特别是如果你正在使用通配符()来删除一些不需要的文件时。

“rm -rf /*”
命令会删除根目录下的所有文件和子目录,这包括系统中所有的文件和目录。因此,这个命令会导致系统崩溃,因为它会删除一些系统必需的文件和目录,这可能会导致无法启动系统或者系统功能受到极大的破坏。这个命令是非常危险的,除非你知道自己在做什么,否则不要使用。

总之,“rm -rf " 命令只会删除当前目录下的文件和目录,**而"rm -rf /” 命令会删除整个系统中的所有文件和目录。**所以,请务必小心使用这些命令,确保你知道自己在做什么,并且非常小心。

在这里插入图片描述
常用范例
例一:删除文件系统会先询问是否删除
命令:rm 文件名
输入rm test.txt命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则输入n。

[root@localhost games]# ll
总用量 0
-rw-r--r--. 1 root root 0 513 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 513 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 513 11:25 test1.txt
-rw-r--r--. 1 root root 0 513 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 513 14:06 test1
drwxr-xr-x. 2 root root  6 513 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 513 14:06 test2

例五:删除以 t 开头的文件(不能删除目录)
命令: rm – t

[root@localhost test]# ll t*
总用量 0 
-rw-r--r--. 1 root root 0 513 14:15 t
-rw-r--r--. 1 root root 0 513 14:16 t1
drwxr-xr-x. 2 root root  6 513 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 513 14:20 t2
-rw-r--r--. 1 root root 0 513 14:20 t3
drwxr-xr-x. 2 root root  6 513 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 513 14:06 test2

例六:删除当前目录下除隐含文件外的所有文件和子目录(提醒是否删除,二次确定)

rm -r *

例七:删除某一指定目录下除隐含文件外的所有文件和子目录(强制删除不提醒)

rm -rf 目录/*

————————————————————————————————
————————————————————————————————
————————————————————————————————

但是程序员应该养成好的习惯,慎用rm命令,用mv命令代替

在这里插入图片描述

推荐mv实现步骤:

1、打开一个终端,输入命令:vim ~/.bashrc
2、在打开的文件最后加入如下代码:

mkdir -p ~/.trash   #在家目录下创建一个.trash文件夹(隐藏文件,ls -a 查看)
alias rm=del        #使用别名del代替rm   
del()               #函数del,作用:将rm命令修改为mv命令
{  
  mv $@ ~/.trash/  
}  
cleardel()          #函数cleardel,作用:清空回收站.trash文件夹,y或Y表示确认,n表示取消
{  
    read -p "clear sure?[Input 'y' or 'Y' to confirm. && Input 'n' to cancel.]" confirm   
    [ $confirm == 'y' ] || [ $confirm == 'Y' ]  && /bin/rm -rf ~/.trash/*   
}  

3、保存修改并退出
4、使设置生效:在终端下输入source ~/.bashrc。
5、如果没有生效,请关闭终端重新打开也可以,本步骤同4步骤(source - ~/.bashrc)作用相同。至此,已经设置完成,可以在终端下进行测试了。

测试结果(命令总结)

1、删除文件
del [文件名]
rm [文件名]
del *
rm *
2、清空回收站(即:清空.trash文件夹)
cleardel
注:该命令会有一个是否删除确认,y或Y表示确认删除,n表示取消删除。
注:rm命令已经删除,所以要彻底删除文件的话,可以先del删除文件到垃圾箱,然后进入~/.trash文件夹使用cleardel命令来彻底清除垃圾箱里的所有文件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

princeAladdin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值