分类: 2011-10-23 19:32 2275人阅读 (1)
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/
- }
mkdir -p ~/.trashalias rm=trash alias r=trash alias rl='ls ~/.trash'alias ur=undelfileundelfile(){ 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/*
- }
cleartrash(){ read -p "clear sure?[n]" confirm [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.trash/*}$. .bashrc
然后,如果想清空回收站的话
$cleartrash就行了
备份脚本正在搞
包括打包压缩快速备份脚本和午夜定时备份脚本
linux下删除文件修复,目前还木有学会,哎
血的教训,防范未然