如何避免命令 rm -rf 的悲剧

一、root高管用户为例,其他用户类同。

https://www.cnblogs.com/eos666/articles/10389179.html

[root@jenkins /]# vim /root/.bashrc

 

# .bashrc

# User specific aliases and functions

# alias rm='rm -i' # 修改成
alias rm='pwd && \
read -p "Are you sure?" y && [ $y == "y" ] && \
read -p "Are you sure?" y && [ $y == "y" ] && \
read -p "Are you sure?" y && [ $y == "y" ] && \
rm -i'
alias cp='cp -i'
alias mv='mv -i'


# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

 

source /root/.barshrc

 

二、测试

[root@jenkins /]# pwd
/

 

示例一
[root@jenkins /]# rm -rf *
/
Are you sure?n

 

示例二

[root@jenkins /]# rm -rf *
/
Are you sure?y
Are you sure?n

 

示例三

[root@jenkins /]# rm -rf /*
/
Are you sure?y
Are you sure?y
Are you sure?n

 

示例四
[root@jenkins /]# rm -rf /*
/
Are you sure?y
Are you sure?y
Are you sure?y

 

三、结果

示例一、二、三,不会删除根目录下的目录及文件。
示例四,3次确认后会直接把根目录下的所有目录及文件都删除掉,出大事了。

 

在 /tmp 目录下的测试,看截图:

 

转载于:https://www.cnblogs.com/eos666/p/10389179.html

### Linux 中使用 `rm -rf` 命令强制删除文件或目录的方法 #### 使用方法 在 Linux 和 Unix 系统中,`rm` 是用于删除文件或目录的强大命令。当需要强制删除文件或目录而不提示确认时,可以使用带有 `-r` 和 `-f` 选项的 `rm` 命令- **-r (递归)**:表示递归删除,适用于删除目录及其内部的所有内容,包括子目录和文件。 - **-f (强制)**:表示强制执行,不提示任何确认信息,并忽略不存在的文件或目录。 要删除一个非空目录 `<directory_name>` 及其所有内容,可使用如下命令: ```bash rm -rf <directory_name> ``` 此命令会无条件地删除指定的目录及其下的所有文件和子目录[^4]。 #### 注意事项 由于 `rm -rf` 命令极其强力且具有破坏性,操作时需格外谨慎。一旦误删重要数据,几乎不可能恢复。因此,在实际应用中有几点需要注意: - **双重检查路径**:确保输入的目标路径绝对正确,避免因拼写错误而误删其他位置的数据。 - **备份关键资料**:对于重要的文件或项目,在执行此类高风险指令之前最好先做好备份工作。 - **理解影响范围**:清楚认识到该命令会对整个目标树形结构造成的影响,特别是涉及到多个层级嵌套的情况。 - **权限验证**:某些情况下可能还需要超级用户权限才能完成特定对象的移除动作;此时应通过 `sudo` 提升权限来运行上述命令[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值