rm -rf 血的教训

慎用rm-rf

rm -rf 慎用

 

命令敲得多了,常在河边走,难免会湿鞋

 

昨天,一个手误,敲错了命令,把原本想要留的文件夹给rm -rf掉了

 

几天心血全木有了,靠,死的心都有了

 

 

经百度,google以及尝试无果,哎,这个以后再研究怎么找回吧

 

 

几点教训:

 

1.rm 特别是rm -rf之前,小心,三思,或者直接将命令改写掉

 

2.做好备份,有便捷的备份脚本

 

3.做好定时备份,有个前辈搞定时脚本,每天定时自个执行,即使删错了也不会那么悲催

 

 

首先,搞个回收站

 

在~下     .bashrc或者.bash_profile加入

 

 

mkdir -p ~/.trash

alias rm=trash  

alias r=trash  

alias rl='ls ~/.trash'

alias ur=undelfile

undelfile()

{

  mv -i ~/.trash/$@ ./

}

trash()

{

  mv $@ ~/.trash/

}

 

这是执行

rm 就相当于执行mv了

 

注:此时已经木有rm -rf了

 

删除的文件会在.trash中出现

 

可以恢复回去

 

 

ur filename

 

 

这就带来一个问题,如何删除回收站里的东西,这是后rm在这里是木有用的

 

 

 

在刚才.bashrc下继续加函数

 

 

cleartrash()

{

    read -p "clear sure?[n]" confirm

    [ $confirm == 'y' ] || [ $confirm == 'Y' ]  && /usr/bin/rm -rf ~/.trash/*

}

 

$. .bashrc

然后,如果想清空回收站的话

 

$cleartrash就行了

 

 

备份脚本正在搞

 

包括打包压缩快速备份脚本和午夜定时备份脚本

 

linux下删除文件修复,目前还木有学会,哎

 

 

血的教训,防范未然



来源:http://www.cnblogs.com/lihaozy/archive/2012/08/17/2643784.html

<think>嗯,用户想了解Linux命令中rm-f参数具体作用。这个问题很有价值,毕竟rm命令一旦误操作可能造成严重后果。用户提供的几个引用里都有提到-f参数。[^1]和[^2]都明确指出-f是force(强制)的意思,[^3]还特别说明了这个参数会忽略不存在的文件且不显示信息。看来用户确实在认真研究这个参数。我记得-f参数主要有三个关键作用:强制删除跳过确认提示、忽略不存在的文件、抑制错误信息。其中第一个特性最值得注意,因为省略确认步骤会显著增加操作风险。特别是配合-r使用时,可能造成大规模数据丢失。用户之前似乎已经看过通配符相关的内容([^4]),这很好,因为-f参数经常和通配符一起使用。不过要提醒用户注意通配符展开的风险,比如rm-f*这种命令。考虑到用户正在学习Linux命令,回复时需要强调危险性。实际工程中我们通常建议:1.删除前先用ls确认文件列表2.对重要目录设置别名防止误删3.重要数据还是要做好备份用户应该是个Linux新手,提问很精准直接命中核心参数。不过可能还没意识到这个命令的破坏力,需要特别强调风险防范。回复时可以适当补充几个真实案例,比如某工程师误删生产数据库的教训。关于技术细节,要澄清一个常见误解:-f并不是提升权限的参数,它只是改变了交互方式。即使用户没有管理员权限,只要对目录有写权限,使用-f同样能删除文件。</think> ### Linux `rm -f` 参数详解 在 Linux 中,`rm -f` 是 `rm` 命令的强制删除模式,其作用如下: 1. **跳过确认提示(强制删除)** - 默认情况下,删除只读文件或空目录时,系统会要求用户确认操作(如:`rm: remove write-protected file 'file'?`)。 - **`-f`**(`--force`)会**直接跳过所有确认提示**,无警告直接删除文件/目录[^1][^3]。 2. **忽略不存在的文件** - 若文件不存在,默认 `rm` 会报错 `No such file or directory`。 - **`-f`** 会**静默忽略此类错误**,继续执行其他操作[^2][^3]。 3. **抑制错误信息** - 删除权限不足的文件时(如无写权限),默认会报错 `Operation not permitted`。 - **`-f`** 会**隐藏此类报错**(实际删除操作仍失败,但命令行不显示错误)[^4]。 --- ### 命令对比 | 命令 | 作用 | |----------------|----------------------------------------------------------------------| | `rm file` | 删除文件,对只读文件需确认 | | `rm -f file` | 强制删除文件,跳过确认且忽略不存在文件的错误 | | `rm -r dir` | 递归删除目录(需确认只读文件) | | `rm -rf dir` | **强制递归删除目录及所有内容,无任何提示(高危操作!)**[^1][^3] | --- ### ⚠️ 重要警告 - **`rm -rf` 是破坏性极强的命令**: `rm -rf /` 或 `rm -rf /*` 会**强制删除整个系统文件**(需 root 权限),导致系统崩溃[^4]。 - **数据不可恢复**: 删除的文件通常无法通过普通方法恢复(除非使用专业工具且未覆盖磁盘)。 - **操作建议**: 1. 执行前用 `ls` 确认路径(如 `ls /path/to/dir/*`)避免通配符错误; 2. 对重要目录设置 `chmod 000` 写权限限制; 3. 使用 `trash-cli` 等工具替代 `rm`,文件可恢复[^3]。 > 示例:强制删除只读文件 `file.txt` > ```bash > rm -f file.txt # 无提示直接删除 > ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值