避免 rm -rf /*删库:建立回收站机制(完美解决)

1. 写在前面

rm -rf /*形式有很多

  • rm -rf /* (直接潇洒走一回)
  • rm -rf $abc/* (变量所指不存在)
  • rm -rf abc /* (多了一个硬核空格” “)

它的威力,懂的人自然懂。

对于此,除了重新认识 rmrm -rf以及空格,也要做一些安全措施,避免此类事情的再次发生。

2. 两种思路

以下两种思路,可能在本质上来看都是一样的:

  • 将需要删除的文件移动(而不是删除)到指定的目录,比如/trash/
  • 定期清理/trash/下的文件

但是在具体使用上还是有些区别(推荐方法二)

2.1 方法一:rm 指向mv实现的函数

参考:写了Bug,误执行 rm -fr /*,我删删删删库了,要跑路吗?

过程

  • 创建回收站目录:mkdir /home/.trash

  • 编写 remove.sh 脚本
    在这里插入图片描述

  • 修改 ~/.bashrc, 用我们自建的 remove.sh 替代 rm 命令

  • 设置 crontab,定期清空垃圾箱
    如设置每天 0 点清空垃圾箱:
    (1)进入编辑

    crontab -e 
    

    (2)写入以下内容:

    0 0 * *<
引用\[1\]和\[2\]提供了关于使用"rm -rf /*"命令删除根目录的信息。这个命令会删除根目录下的所有文件和目录,导致系统崩溃。根据这些信息,恢复系统可能会非常困难甚至不可能。然而,引用\[3\]提供了一个脚本(remove.sh)的示例,可以将文件移动到一个名为"/home/.trash"的目录中。如果你在执行"rm -rf /*"之前使用了这个脚本,你可能可以在"/home/.trash"目录中找到被删除的文件的备份。你可以尝试查看该目录并恢复文件。但请注意,这只是一个可能的解决方案,具体恢复的成功与否取决于你的情况和系统配置。 #### 引用[.reference_title] - *1* *3* [误操作rm -rf /*之后该如何挽救,除了跑路还能怎么办](https://blog.csdn.net/Muz_victory/article/details/108145860)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [sudo rm -rf /* 命令运行演示(管理员身份删除根目录所有文件)](https://blog.csdn.net/weixin_51560103/article/details/121336910)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值