• linux下(ubuntu)反删除(误删恢复)与回收站制作


      刚刚有个小伙伴不小心删了他写了好几的天代码,为他心疼之余帮他找回了文件。

      想到我之前也常常误删一些文件,就干脆分享一下我的反删除方法,并说说我做的回收站(好low的,求大神指点)

      首先是反删除软件extundelete。在ubuntu下安装方法很简单,如下:

    sudo apt-get install extundelete

      我用的是它最简单的功能:

    extundelete /dev/sda1 --after 1480928228 --restore-all 

      这句话的意思是恢复绝对时间1480928228之后被删除的所有文件(至少我是这么理解的Orz),在哪个文件夹里误删了就在哪里执行

      PS:我每次用它的时候都切换了root,毕竟自己的虚拟机

      这个绝对时间用以下语句获得:

    date +%s

      下面介绍一下我的渣渣回收站:

      基本思路就是把rm命令替换成mv,把文件移动到指定的文件夹里。这里我用了一个脚本来实现:

      1、家目录下创建文件夹(貌似可不用)

    mkdir .trash

      2、家目录下编写脚本

    .trash.sh

    1 #!/bin/bash                                                                                                                
    2   
    3 datestr=$(date +%Y_%m_%d_%H_%M_%S)
    4    
    5 mkdir -p ~/.trash/$datestr
    6    
    7 mv $@ ~/.trash/$datestr/

      说明一下,我是以删除的年、月、日、时、分、秒来做为文件夹名,这样在找回的时候比较方便0。0

      (2016.12.7补充)漏了一条,要设置.trash.sh的可执行权限--!

    chmod +x .trash.sh

      3、家目录下.bashrc文件最后添加:

    alias rm=~/.trash.sh

      这样,我就做好回收站了。

      这个回收站其实会有一些问题,比如使用rm的时候带 “-f”之类,会提示mv的错误;再比如,“删除”的文件多了,回收站占的空间就大了,文件实际还是存在的。这时候我都是在window下对其进行永久删除的,这里就要用到诸如WinSCP的软件了。

  • 相关阅读:
    Decimal、 Float、 Double 使用
    jdk1.7的collections.sort(List list)排序问题
    $watch、$digest、$apply
    BeanNameViewResolver
    This system is not registered with RHN
    JNI字段描述符-Java Native Interface Field Descriptors
    服务器端cs文件
    ASP.NET基础(一)
    Android开发日记(七)
    登陆 注册
  • 原文地址:https://www.cnblogs.com/chinxi/p/6134625.html
Copyright © 2020-2023  润新知