“rm -rf /” 与 “rm -rf /*”的强大威力,瘫痪系统,推荐使用mv代替rm
最后发布:2019-09-21 09:38:42首发:2019-09-21 08:53:49
rm 命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉
命令 | 作用 |
---|---|
-f | 强制删除文件或目录 |
-i | 删除已有文件或目录之前先询问用户 |
-r | 递归处理, 将指定目录下的所有文件与子目录一并处理 |
/ | 在Linux中表示根目录 |
* | 所有文件 |
/* | 根目录下的所有文件 |
注意:一旦你执行了上述“rm -rf /” 或者“rm -rf /*”命令,会删除Linux根目录下的所有文件,直接导致服务器瘫痪
解决的办法只有一个,如下:
程序员应该养成好的习惯,慎用rm命令,用mv命令代替.
命令 | 作用 |
---|---|
~/ | 当前登录用户的用户目录 |
./ | 表示当前目录 |
pwd | 查看当前所在路径 |
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/*
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 3、保存修改并退出
- 4、使设置生效:在终端下输入source ~/.bashrc。
- 5、如果没有生效,请关闭终端重新打开也可以,本步骤同4步骤(source - ~/.bashrc)作用相同。至此,已经设置完成,可以在终端下进行测试了。
测试结果(命令总结)
- 1、删除文件
del [文件名]
rm [文件名]
del *
rm * - 2、清空回收站(即:清空.trash文件夹)
cleardel
注:该命令会有一个是否删除确认,y或Y表示确认删除,n表示取消删除。
注:rm命令已经删除,所以要彻底删除文件的话,可以先del删除文件到垃圾箱,然后进入~/.trash文件夹使用cleardel命令来彻底清除垃圾箱里的所有文件。