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/*
}
然后,如果想清空回收站的话$cleartrash 就行了
血的教训,防范未然
上面是转的,下面研究了一下csh的用法,用在Rhel 6.5下面
csh需要在~/.cshrc下增加
if !(-d ~/.trash) then
mkdir -p ~/.trash
endif
#alias rm 'mv \!* ~/.trash/' 重复删除会报 mv: Directory is not empty
alias rm 'set trash_dir=`date +%y%m%d%H%M%S%N`;mkdir ~/.trash/$trash_dir;mv \!* ~/.trash/$trash_dir'
#alias unrm 'mv -i ~/.trash/\!* ./' 原谅我unrm实在不会弄了……等高手来弄吧
alias cleantrash '/bin/rm -rf ~/.trash/*'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)