Alliot's blog

防止rm -rf误操作

经常有误操作删库的新闻,今天在逛Linux论坛发现不错的方法,这里记录一下,侵删

原理很简单,设置一个类似Windows下的回收站的功能。
在~下 .bashrc或者.bash_profile加入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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中出现 可以进行恢复
    这就有一个问题:如何清空回收站呢,rm在这里是木有用的,所以在刚才.bashrc下继续加函数:
    1
    2
    3
    4
    5
    6
    7
    cleartrash()
    {
    read -p "clear sure?[n]" confirm
    [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.trash/*
    }
    $. .bashrc

然后,如果想清空回收站的话,执行$cleartrash就行了。

本文标题:防止rm -rf误操作

文章作者:Alliot

发布时间:2016年09月16日 - 00:09

最后更新:2018年04月06日 - 00:04

原始链接:https://www.iots.vip/post/linux-prevent-rm-rf.html

许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 转载请保留原文链接及作者。

如果此文为您解决燃眉之急或是带来些许明朗,不妨打赏Alliot一杯香茗或是一杯咖啡