温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux系统误删除数据如何恢复

发布时间:2021-07-29 17:26:27 来源:亿速云 阅读:259 作者:Leah 栏目:大数据

本篇文章给大家分享的是有关linux系统误删除数据如何恢复,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1. trash-cli

rm -rf

上面这个命令,恐怕是这个世界上最危险的命令,在每一次程序员删库跑路的事件中都扮演着关键角色。在日常工作中,一不留神,就可能因一时疏忽而误删除了关键文件导致服务器出现故障或是服务不可用。由于linux系统没有回收站功能,这导致使用rm删除的文件很难恢复。

本文给大家介绍的,是一个实现了回收站功能的python库,使用它,你可以放心的执行rm命令而不必担心误删除的数据无法恢复,使用pip进行安装

pip install trash-cli

安装结束后,你可以使用which trash 来查看工具的安装目录,在我的机器上,安装目录是/opt/conda/bin , 使用ll /opt/conda/bin/trash*  命令可以查看到所有相关命令

/opt/conda/bin/trash                    # 删除文件, 同trash-put
/opt/conda/bin/trash-empty              # 清空回收站
/opt/conda/bin/trash-list               # 列出回收站里的文件
/opt/conda/bin/trash-put                # 删除文件
/opt/conda/bin/trash-restore            # 恢复回收站里的指定文件
/opt/conda/bin/trash-rm                 # 删除回收站里的指定文件

你可以使用trash命令代替rm命令,更好的方法是设置rm命令的别名,修改.bashrc文件,增加下面这行

alias rm="trash"

设置以后,记得执行source .bashrc  使配置生效,现在,你可以放心的使用rm命令了,当你想恢复某个文件时,执行trash-list 列出回收站中的文件,使用trash-restore 恢复你想要恢复的文件。

2. trash-cli 实现原理

2.1 被删除的文件去哪了

你一定好奇,那些被删除的文件去哪了,默认情况下,这些文件都被放在了 $HOME/.local/share/Trash 目录下,这个目录下有两个文件夹,分别是files 和info, files目录下存放的就是被删除的文件,info目录下存放的是被删除文件的信息,包括被删除前所在目录和被删除时间,格式如下

[Trash Info]
Path=/home/jovyan/server.py
DeletionDate=2020-06-15T11:30:58

每一个被删除的文件或文件夹,都会有一个与之相对应的trashinfo文件,记录着被删除文件的关键信息。当使用trash-restore恢复文件时,就是根据这些信息将文件move到指定位置。

2.2 回收站的目录是否可设置

默认是$HOME/.local/share/Trash ,但可以进行修改,这一点,源码里说的很清楚

class HomeTrashCan:
   def __init__(self, environ):
       self.environ = environ
   def path_to(self, out):
       if 'XDG_DATA_HOME' in self.environ:
           out('%(XDG_DATA_HOME)s/Trash' % self.environ)
       elif 'HOME' in self.environ:
           out('%(HOME)s/.local/share/Trash' % self.environ)

以上就是linux系统误删除数据如何恢复,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI