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

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

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

sudo apt-get install extundelete

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

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

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

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

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

date +%s

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

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

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

mkdir .trash

  2、家目录下编写脚本

.trash.sh

 #!/bin/bash                                                                                                                

 datestr=$(date +%Y_%m_%d_%H_%M_%S)

 mkdir -p ~/.trash/$datestr

 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的软件了。

linux下(ubuntu)反删除(误删恢复)与回收站制作的更多相关文章

  1. Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站https://www.linuxidc.com/Linux/2008-08/14744.htm linu ...

  2. linux下创建和删除软、硬链接

    linux下创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制 ...

  3. linux下安装与删除软件

    linux下安装与删除软件 (2005-07-04 11:24:10) 转载▼ 标签: 杂谈 分类: MSN搬家 现在linuxx下的软件大都是rpm,deb.tar.gz和tar.bz2格式.1.r ...

  4. Linux下的反调试技术

    Linux下的反调试技术 2014年01月30日 ⁄ 综合 ⁄ 共 2669字 ⁄ 字号 小 中 大 ⁄ 评论关闭 转自  http://wangcong.org/blog/archives/310 ...

  5. Linux入门培训教程 linux下拷贝cp删除rm移动mv命令参数以及说明

    拷贝移动删除在windows中看起来这么简单,但linux经常使用的文字界面,所以对于linux系统 下拷贝cp删除 rm 移动mv命令参数就不得不需要了解和学习了 cp 该命令的功能是将给出的文件或 ...

  6. Linux下使用inode删除文件

    Linux 下有时候某些文件无法使用 rm 直接删除, 比如该文件的文件名含有终端不能正确显示的字符.# ls -litotal 0441511 -rw-r--r-- 1 root root 0 Ap ...

  7. Linux下创建和删除软、硬链接 可临时处理空间不足

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问. ...

  8. linux下利用inode删除指定文件文件

    本文主要介绍使用inode删除异常文件名的文件的方法,供大家参考: 在Linux中,有时候会遇到文件名是乱码或者是某些特殊中文的文件,这时候通过文件名就很难删除. 同时,对于linux中的任何一个文件 ...

  9. linux下创建与删除用户详细步骤 ***

    linux下用户的操作还是相对容易理解的,基本操作如下: 1.新增用户 只有root用户能创建新用户 #useradd user1 新建后将会在/home目录下生成一个与用户名相同的用户主目录.同时会 ...

  10. Linux下创建和删除用户

    在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...

随机推荐

  1. luoguP4735 最大异或和

    https://www.luogu.org/problemnew/show/P4735 令 s 数组为 a 数组的异或前缀,则题目要求的式子可变为 s[p - 1] ^ s[n] ^ x,s[n] ^ ...

  2. CF914E Palindromes in a Tree

    $ \color{#0066ff}{ 题目描述 }$ 给你一颗 n 个顶点的树(连通无环图).顶点从 1 到 n 编号,并且每个顶点对应一个在'a'到't'的字母. 树上的一条路径是回文是指至少有一个 ...

  3. 你必须知道的----C语言笔试面试中经典易错的一些知识点(持续更新)

    1. 关于二级指针的解析和引用 1.1  二级指针意义  二级指针存放的是一级指针的地址    Ex: Int a = ; Int *p = &a; Int **q = &p; 1.2 ...

  4. app.use和app.get的区别及解析

    转载至:http://blog.csdn.net/wthfeng/article/details/53366169 写在前面:最近研究nodejs及其web框架express,对app.use和app ...

  5. 【Java】qatools.properties

    Link: https://github.com/qatools/properties 今天在GitHub上看到一个Java库,能方便帮助读取properties的配置文件. 具体使用可以参考上面的链 ...

  6. JavaWeb学习笔记(一)—— Http协议

    一.什么是HTTP协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览 ...

  7. IDEA 在 专注模式下 显示 行号 和 缩进线...

    16down voteaccepted +50 Open the settings and navigate to Editor > General > Appearance and ti ...

  8. GCD(最大公约数)和LCM(最小公倍数)的求法

    GCD(最大公约数) (1)辗转相除法(欧几里得算法)(常用) 将两个数a, b相除,如果余数c不等于0,就把b的值给a,c的值给b,直到c等于0,此时最大公约数就是b (2)更相减损术 将两个书中较 ...

  9. R语言学习笔记(四)

    6. 数据转换 本章主要讲述apply系列函数:apply.lapply.sapply.tapply.mapply,以及姊妹函数by.split.适用于批量处理数据,而不许循环. 6.1 向量分组 用 ...

  10. webApi的控制台服务

    1.新建console项目,引用 下面包 2.新建Controller public class UserController : ApiController { public IEnumerable ...