在linux命令行下,经常会误操作删除一些东西,如果加了-f参数,又是重要的文件那就等着杯具吧,本人曾经将一个月的工作误删了,后来试了试一些文件恢复工具,但都操作复杂,比较麻烦,不了了之,只有重做一次,最近经人推荐试用了下Trash can这个工具,感觉比较好用,故推荐之
下载链接https://github.com/comwt/trashcan
1、 安装
#tar –zxf trashcan-3.4.tar.gz
#cd trashcan-3.4/shell
# ./trash_install
安装过程其实比较简单,但会有很多问答,慢慢耐心选择回答就行
在问答过程中,有一个问题会问希望配置文件是命名成什么名字,最好取一个自己比较能方便识别的名字如trashcan.profile,因为安装之后需要通过这个配置文件来对环境变量做出一些设置,所以这个文件非常重要
安装结束后找到trashcan.profile,执行如下命令:
#source                   trashcan.profile
执行完成后就可以使用了
2、 原理
trash can的原理实际是并不是从硬盘上将丢失的数据恢复,数据其实并没有真正的被删除,只是放到了另一个地方,当用户需要的时候,再还原就行,这跟windows中的回收站很类似。那么它是怎么做到这一点的呢,看看trashcan.profile就知道了
#vi trashcan.profile可以看到如下内容
#-Trash Can
TRASHDIR=/home/litl/.trash #-- User's TRASH DIRectory
TBINDIR=/usr/bin #-- Trash BINary DIRectory
aliasdelete="/bin/bash ${TBINDIR}/trash.sh -rest ${TRASHDIR} -d "
aliasempty="/bin/bash ${TBINDIR}/trash.sh -empty ${TRASHDIR} "
aliasprm="/bin/bash ${TBINDIR}/trash.sh -prm ${TRASHDIR} "
aliaspurge="/bin/bash ${TBINDIR}/trash.sh -purge ${TRASHDIR} "
aliastrestore="/bin/bash ${TBINDIR}/trash.sh -rest ${TRASHDIR} "
aliasrm="/bin/bash ${TBINDIR}/trash.sh -rm ${TRASHDIR} " #-- Same as 'throw'
aliasthrow="/bin/bash ${TBINDIR}/trash.sh -rm ${TRASHDIR} " #-- Same as 'rm'
aliastkeep="/bin/bash ${TBINDIR}/trash.sh -keep ${TRASHDIR} " #-- Configure keep days
aliastmax="/bin/bash ${TBINDIR}/trash.sh -tmax ${TRASHDIR} " #-- Configure capacity
aliastrash="/bin/bash ${TBINDIR}/trash.sh -list ${TRASHDIR} " #-- Trash Specs/Contents
purge #-- Daily Old Trash Purge
这一下可以很清楚地看到,trashcan实际是是把系统原有的命令rm做了别名,替换成trash.sh中的命令,删除的东西会暂时放到$TRASHDIR中,也就是文章中看到的/home/litl/.trash目录下。
个人认为这种方式很优雅,用户大多数时候删除数据都是属于误操作,只要有种方式避免这种情况的发生就能杜绝绝大多数杯具的发生了,真正的破坏性情况丢失数据还是很少的,所以这种让用户有后悔药可吃是方法比较明智的。
3、 使用
#trash
可以看到以下内容,这里列出了trashcan的用法
OPTIONS:
empty -Permanently remove all trash
prm -Permanently remove (bypass trash system)
purge -Permanently remove trash older than 460 days
trestore -Restores file to its originallocation
rm -remove file(s)
throw -remove file(s)
tkeep -configure the number of days to keep trash
tmax -configure trash can capacity
trash -list trash disk usage,
list trash options,
list files in trash (date deleted,file name, original path)
下面来使用一下trash can提供的一些功能,首先建立一个测试目录
#mkdirtesttrashcan
在里面随意放一些东西,我放的东西如下:
[root@localhosttesttrashcan]# ls
cyrus-sasl-2.1.23 php-5.3.8 php-5.3.8.tar.gz postfix-2.8.2 postfix-2.8.2.tar.gz squirrelmail-webmail-1.4.22 squirrelmail-webmail-1.4.22.tar.bz2
[root@localhosttesttrashcan]# rm postfix-2.8.2* 将postfix相关的文件全部删除
[root@localhosttesttrashcan]# trash 
再按一下回车,即可看到如下内容,列出了当前trashcan中的文件有哪些,可以看到postfix相关的内容都在里面
TRASH CANCONTENTS:
Deleted Type File Name
------- ---- ---------
03/02/2012 DIR courier-authlib-0.60.2
03/02/2012 DIR extman-0.2.5
03/02/2012 DIR postfix-2.8.2
03/02/2012 FILE cyrus-sasl-2.1.23.tar.gz
03/02/2012 FILE dovecot-1.1.4.tar.gz
03/02/2012 FILE extman-0.2.5.tar.gz
03/02/2012 FILE httpd-2.2.21.tar.gz
03/02/2012 FILE postfix-2.8.2.tar.gz
接下来恢复刚刚删除的postfix
[root@localhosttesttrashcan]# trestore
可看到如下内容
Deleted Type Original Path
1. 03/02/2012 DIR /root/litl/testtrashcan/courier-authlib-0.60.2
2. 03/02/2012 FILE /root/litl/testtrashcan/cyrus-sasl-2.1.23.tar.gz
3. 03/02/2012 FILE /root/litl/testtrashcan/dovecot-1.1.4.tar.gz
4. 03/02/2012 DIR /root/litl/testtrashcan/extman-0.2.5
5. 03/02/2012 FILE /root/litl/testtrashcan/extman-0.2.5.tar.gz
6. 03/02/2012 FILE /root/litl/testtrashcan/httpd-2.2.21.tar.gz
7. 03/02/2012 DIR /root/litl/testtrashcan/postfix-2.8.2
8. 03/02/2012 FILE /root/litl/testtrashcan/postfix-2.8.2.tar.gz
9. EXIT (NOT SHOWN)
Select the file number to be restored:
提示我们输入想要恢复文件的编号,输入想恢复的文件对应编号即可,若是多个文件,可用逗号隔开,如下:
Select the filenumber to be restored: 7,8
回车,成功之后可看到文件恢复成功的提示,如下
File wassuccessfully restored.
至于如何将所有文件全部还原或者还原一个编号范围内的文件我还没相应的方法,只是粗略试了一下,大家可继续摸索。
4、 其他
使用trash can的总体感受是恢复文件的速度很快,但删除文件的时候明显很卡,估计是删除的时候需要做很多操作来供日后恢复,但这点缺点丝毫不影响本人对它的好感,只要恢复的时候多快好省那就行了,谁又会希望自己删东西的时候删得快呢?

使用trashcan恢复linux下误删的文件相关推荐

  1. linux如何将ntfs删除文件,【实习记】2014-09-26恢复linux下误删的ntfs盘中的文件

    情景,ubuntu下把NTFS格式的盘中的"实习记"文件夹彻底删除了,追毁莫及,粗心觉不是一件好的事情. linux下回复ntfs盘下的文件不能用ext3grep,而使用debug ...

  2. 误删了php文件怎么恢复,linux中误删了文件怎么恢复

    linux中误删了文件怎么恢复 作为一个多用户.多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作 ...

  3. linux mysql 文件恢复_linux下误删数据文件恢复

    linux下文件被删除可以用很多工具进行恢复,例如undelete(适合ext2,ext3).giis(不能恢复安装giis之前的文件).ext3grep(仅限ext3).R-linux(支持ext3 ...

  4. linux mysql 误删系统文件恢复_干货分享丨如何恢复Linux下误删/etc目录数据

    对于运维工作者来说,可能最让人担心的,是服务器宕机: 最让人无助的,是被DDOS: 而最让人心惊肉跳的,是rm -rf *这个命令-- 当你执行rm -rf命令时,万一哪个变量没赋值 听说过被删空服务 ...

  5. linux etc目录 删除,干货分享丨如何恢复Linux下误删/etc目录数据

    @悬镜安全实验室 前言 对于运维工作者来说,可能最让人担心的,是服务器宕机: 最让人无助的,是被DDOS: 而最让人心惊肉跳的,是rm -rf *这个命令-- 当你执行rm -rf命令时,万一哪个变量 ...

  6. linux重启后etc目录被还原,干货分享丨如何恢复Linux下误删etc目录数据

    对于运维工作者来说,可能最让人担心的,是服务器宕机: 最让人无助的,是被DDOS: 而最让人心惊肉跳的,是rm -rf *这个命令-- 当你执行rm -rf命令时,万一哪个变量没赋值 听说过被删空服务 ...

  7. 恢复linux下误删除的文件

    下载extundelete http://sourceforge.net/    开源软件发布中心   准备测试分区:   [root@xuegod63/]# fdisk /dev/sda #创建一个 ...

  8. 服务器来电后自动开机|xfs文进系统备份恢复linux下误删除的文件

    实战:xfs文件系统的备份和恢复 XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据.xfsdump 按inode顺序备份一个XFS文件系统.与传统的UNIX文 ...

  9. linux删去分区的文件夹,如何恢复 Linux 分区下误删的文件?

    以前总是在网上看到很多人问怎么恢复 Linux 分区下误删的文件.当时并没有仔细关注过,真没想到昨天这事摊我身上了. 大致说说这场悲剧的整个过程吧(为了避免一些不必要的麻烦,本文中的文件夹名和设备名都 ...

最新文章

  1. Python:XPath与lxml类库
  2. 全球十大AI领军人物
  3. 网页版python叫什么-用Python爬网页需要了解什么背景知识?
  4. UVa 11520 Fill the Square 填充正方形
  5. win7 64位,vs2010(visual studio2010)环境下配置openCV2.4.8版本,以及可能遇到的问题
  6. python 批量修改密码
  7. mac下卸载jdk1.7
  8. java学习(142):file类的基本创建
  9. c语言字符串匹配函数index,C语言(函数)学习之index、rindex
  10. 在批评数据湖的时候,你有没有想过,它并不是取代数据仓库的
  11. 仿星球大战个人引导页源码
  12. 【跃迁之路】【425天】程序员高效学习方法论探索系列(实验阶段182-2018.04.06)...
  13. MySQL教程(十一)—— 操作数据表中的记录
  14. 2018深圳国际零售信息化暨无人售货展
  15. python数组拼接concat_【JavaScript】重写数组的concat()方法
  16. 自动驾驶操作系统现状与发展趋势
  17. 9.9.5. Delaying Execution
  18. ctf MISC disordered_zip
  19. 五款超级易用的网络监控软件
  20. Bolt: Anonymous Payment Channels for Decentralized Currencies 学习笔记

热门文章

  1. VMware Workstation 无法连接到虚拟机
  2. 广告公司给客户做的视频如何避免被外泄?
  3. 2008年GCT考试真题A卷
  4. 脿什么意思_襆怎么读_襆组词和拼音
  5. 阶梯压测线程 jp@gc - Stepping Thread Group (deprecated)
  6. Solution to no ADO.NET in VS2019 VS里没有ADO的解决办法
  7. 详解抖音壁纸号的具体玩法,变现方法容易吗?
  8. 超小白用PANDA处理DTI数据的心酸历程笔记
  9. Linux 根文件系统构建
  10. FRP + 腾讯云 内网穿透