0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中誤刪文件的恢復(fù)操作

Linux愛(ài)好者 ? 來(lái)源:Linux愛(ài)好者 ? 作者:Linux愛(ài)好者 ? 2020-12-11 16:19 ? 次閱讀

前言

無(wú)論在哪個(gè)系統(tǒng)中,刪除文件都是必須謹(jǐn)慎的操作。

因?yàn)槿绻恍⌒膭h除了重要文件,就會(huì)導(dǎo)致個(gè)人或公司出現(xiàn)重大的損失。

類似于windows系統(tǒng)誤刪了文件,可以使用一些軟件進(jìn)行恢復(fù)操作。Linux也是有幾款軟件可以做到誤刪恢復(fù)的。

注意事項(xiàng):雖然有軟件可以對(duì)誤刪的數(shù)據(jù)進(jìn)行恢復(fù),但是完全恢復(fù)數(shù)據(jù)的概率并不是百分百的。

因此,使用rm命令刪除文件的時(shí)候,一定要小心;重要的數(shù)據(jù)一定要有備份;并且恢復(fù)刪除的數(shù)據(jù)前,刪除文件的目錄內(nèi)不能往進(jìn)存放新東西,否則覆蓋掉的信息無(wú)法找回。

下面介紹的就是對(duì)Linux中誤刪文件的恢復(fù)操作。

1、lsof

原理:
這個(gè)命令實(shí)際上并不能直接用來(lái)恢復(fù)文件,不過(guò)它可以列出被各種進(jìn)程打開(kāi)的文件信息。

配合其他命令,從/proc目錄下的信息中恢復(fù)“文件已刪除,但進(jìn)程仍保持打開(kāi)該文件的狀態(tài)”的文件。

/proc目錄是掛載的是在內(nèi)存中所映射的一塊區(qū)域,當(dāng)我們對(duì)這些文件進(jìn)行讀取和寫入時(shí),實(shí)際上是在從內(nèi)存中獲取相關(guān)信息。

因此,當(dāng)我們對(duì)文件進(jìn)行讀取或?qū)懭霑r(shí)(即有進(jìn)程正使用文件時(shí)),哪怕硬盤中的該文件已刪除,還可以從內(nèi)存中的信息恢復(fù)文件。

注意:
必須以 root 用戶的權(quán)限運(yùn)行, 因?yàn)閘sof 需要訪問(wèn)核心內(nèi)存和各種文件。


只能恢復(fù)“文件已刪除,但進(jìn)程仍保持打開(kāi)該文件的狀態(tài)”的文件。

如果誤刪了目錄,目錄中的其他文件未被進(jìn)程打開(kāi),沒(méi)有進(jìn)行使用的文件將無(wú)法使用此方法恢復(fù)。

lsof輸出信息的意義:

102f6556-2eb2-11eb-a64d-12bb97331649.png

COMMAND 進(jìn)程的PID(進(jìn)程標(biāo)識(shí)符)USER 進(jìn)程所有者FD 用來(lái)識(shí)別該文件(文件描述符)DEVICE 指定磁盤的名稱SIZE 文件的大小NODE 索引節(jié)點(diǎn)(文件在磁盤上的標(biāo)識(shí))NAME 打開(kāi)文件的確切名稱

最常用參數(shù):

-c 顯示某進(jìn)程現(xiàn)在打開(kāi)的文件 -p 顯示哪些文件被某pid進(jìn)程打開(kāi) -g 顯示歸屬某gid的進(jìn)程情況 -d 顯示目錄下被進(jìn)程開(kāi)啟的文件 -d 顯示使用fd為4的進(jìn)程 -i:80 顯示打開(kāi)80端口的進(jìn)程

恢復(fù)文件操作

環(huán)境:
在/mnt下有一些文件,其中一個(gè)文件train.less正在被查看,然后另一個(gè)終端將其刪除

【1】lsof查看

查看正在使用刪除文件的進(jìn)程號(hào)

lsof /mnt

1056ab16-2eb2-11eb-a64d-12bb97331649.png

107cffaa-2eb2-11eb-a64d-12bb97331649.png

【2】恢復(fù)

切換到/proc下,刪除文件對(duì)應(yīng)的進(jìn)程的pid下的文件描述符中的目錄中;將對(duì)應(yīng)的內(nèi)容重定向或cp到其他文件中
重點(diǎn)關(guān)注:PID 與 FD

cd /proc/31284/fd/ cat 4 > /mnt/ferris_train.less

10996c6c-2eb2-11eb-a64d-12bb97331649.png

10bb38d8-2eb2-11eb-a64d-12bb97331649.png

10d54dd6-2eb2-11eb-a64d-12bb97331649.png

2、extundelete

原理:
使用存儲(chǔ)在分區(qū)日志中的信息,嘗試恢復(fù)已從ext3或ext4的分區(qū)中刪除的文件

優(yōu)點(diǎn):
相比于ext3grep只能恢復(fù)ext3文件系統(tǒng)的文件,其適用范圍更廣,恢復(fù)速度更快

extundelete官方地址(官方文檔):
http://extundelete.sourceforge.net

extundelete下載地址:
http://downloads.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
(最新版本的extundelete是0.2.4,于2013年1月發(fā)布)

注意:

在數(shù)據(jù)刪除之后,要卸載被刪除數(shù)據(jù)所在的磁盤或是分區(qū)

如果是系統(tǒng)根分區(qū)遭到誤刪除,就要進(jìn)入單用戶模式,將根分區(qū)以只讀的方式掛載,盡可能避免數(shù)據(jù)被覆蓋

數(shù)據(jù)被覆蓋后無(wú)法找回

恢復(fù)仍有一定的機(jī)率失敗,平時(shí)應(yīng)對(duì)重要數(shù)據(jù)作備份,小心使用rm

安裝

1、依賴安裝

centos安裝操作yum install e2fsprogs-devel e2fsprogs* gcc* ubuntu安裝操作apt-get install build-essential e2fslibs-dev e2fslibs-dev

2、編譯安裝

wget http://downloads.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2tar xf extundelete-0.2.4.tar.bz2cd extundelete-0.2.4configuremakemake install

11075d12-2eb2-11eb-a64d-12bb97331649.png

cd /root/extundelete-0.2.4/src

112b4a9c-2eb2-11eb-a64d-12bb97331649.png

extundelete-v

1154b620-2eb2-11eb-a64d-12bb97331649.png

執(zhí)行make命令會(huì)在src目錄下生成extundelete可執(zhí)行文件,可在此直接執(zhí)行恢復(fù)命令。


執(zhí)行make install會(huì)將程序安裝在/usr/local/bin/下

恢復(fù)文件操作

執(zhí)行extundelete命令的當(dāng)前目錄必須是可寫的。

1、查看要恢復(fù)文件的分區(qū)的文件系統(tǒng)

df-Th

1173c830-2eb2-11eb-a64d-12bb97331649.png

2、對(duì)要恢復(fù)文件的分區(qū)解除掛載

umount /mnt

11860be4-2eb2-11eb-a64d-12bb97331649.png

3、查看可以恢復(fù)的數(shù)據(jù)

指定誤刪文件的分區(qū)進(jìn)行查找 最后一列標(biāo)記為Deleted的文件,即為刪除了的文件

extundelete /dev/vdb1 --inode 2 (根分區(qū)的inode值是2)

11bc97cc-2eb2-11eb-a64d-12bb97331649.png

4、恢復(fù)單個(gè)目錄

指定要恢復(fù)的目錄名 如果是空目錄,則不會(huì)恢復(fù)

extundelete /dev/vdb1 --restore-directory ferris

11e3515a-2eb2-11eb-a64d-12bb97331649.png

12089fbe-2eb2-11eb-a64d-12bb97331649.png

當(dāng)執(zhí)行恢復(fù)文件的命令后,會(huì)在執(zhí)行命令的當(dāng)前的目錄下生成RECOVERED_FILES目錄,恢復(fù)的文件都會(huì)放入此目錄中。如未生成目錄,即為失敗。

5、恢復(fù)單個(gè)文件

指定要恢復(fù)的文件名 如果幾k大小的小文件,有很大幾率恢復(fù)失敗

extundelete /dev/vdb1 --restore-file openssh-7.7p1.tar.gz

122d0b6a-2eb2-11eb-a64d-12bb97331649.png

6、恢復(fù)全部刪除的文件

無(wú)需指定文件名或目錄名,恢復(fù)全部刪除的數(shù)據(jù)

extundelete /dev/vdb1 --restore-all

1276c5ac-2eb2-11eb-a64d-12bb97331649.png

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208717
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3521

    瀏覽量

    88317

原文標(biāo)題:Linux 誤刪文件恢復(fù)命令及方法

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    服務(wù)器數(shù)據(jù)恢復(fù)—EXT3文件系統(tǒng)下誤刪除數(shù)據(jù)的恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 郵件服務(wù)器中有一組由8塊盤組成的RAID5陣列, 上層是Linux操作系統(tǒng)+EXT3文件系統(tǒng)。 服務(wù)器故障: 由于
    的頭像 發(fā)表于 10-23 15:11 ?103次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—EXT3<b class='flag-5'>文件</b>系統(tǒng)下<b class='flag-5'>誤刪</b>除數(shù)據(jù)的<b class='flag-5'>恢復(fù)</b>案例

    NetApp數(shù)據(jù)恢復(fù)—NetApp存儲(chǔ)WAFL文件系統(tǒng)下誤刪除的數(shù)據(jù)恢復(fù)案例

    NetApp某型號(hào)存儲(chǔ),WAFL文件系統(tǒng)。 工作人員誤操作將該NetApp存儲(chǔ)的重要數(shù)據(jù)刪除。
    的頭像 發(fā)表于 10-11 14:17 ?137次閱讀

    ubuntu刪除的文件怎么恢復(fù)

    : Ubuntu文件系統(tǒng)概述 Ubuntu是一個(gè)基于Linux操作系統(tǒng),其文件系統(tǒng)與Windows系統(tǒng)有所不同。在Ubuntu,
    的頭像 發(fā)表于 08-30 15:10 ?986次閱讀

    NetApp數(shù)據(jù)恢復(fù)—NetApp存儲(chǔ)誤刪除的數(shù)據(jù)恢復(fù)案例

    某公司一臺(tái)NetApp存儲(chǔ),該存儲(chǔ)中有24塊磁盤。 工作人員誤刪除了NetApp存儲(chǔ)中一個(gè)文件夾,文件夾中有非常重要的數(shù)據(jù)。 數(shù)據(jù)恢復(fù)工程師在現(xiàn)場(chǎng)對(duì)該存儲(chǔ)進(jìn)行了初檢。雖然這個(gè)
    的頭像 發(fā)表于 08-12 13:35 ?207次閱讀
    NetApp數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—NetApp存儲(chǔ)<b class='flag-5'>誤刪</b>除的數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)—KVM虛擬機(jī)被誤刪除的數(shù)據(jù)恢復(fù)案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)環(huán)境: Linux操作系統(tǒng)服務(wù)器,EXT4文件系統(tǒng)。服務(wù)器中有數(shù)臺(tái)KVM虛擬機(jī)。 虛擬機(jī)1:主數(shù)據(jù)庫(kù)服務(wù)器 虛擬磁盤:系統(tǒng)盤(qcow2)+數(shù)據(jù)盤(raw)
    的頭像 發(fā)表于 08-07 13:33 ?346次閱讀
    虛擬機(jī)數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—KVM虛擬機(jī)被<b class='flag-5'>誤刪</b>除的數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)—Oracle刪除數(shù)據(jù)不用怕!這些數(shù)據(jù)恢復(fù)方法了解一下

    相信有很多oracle數(shù)據(jù)庫(kù)用戶都遇到過(guò)在操作Oracle數(shù)據(jù)庫(kù)時(shí)誤刪除某些重要數(shù)據(jù)的情況,這個(gè)時(shí)候如果數(shù)據(jù)庫(kù)沒(méi)有備份且數(shù)據(jù)十分重要的,怎么才能恢復(fù)誤刪除的數(shù)據(jù)呢?北亞企安數(shù)據(jù)
    的頭像 發(fā)表于 07-19 16:40 ?438次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)誤刪除KVM虛擬機(jī)的數(shù)據(jù)恢復(fù)案例

    1臺(tái)服務(wù)器,Linux操作系統(tǒng)+EXT4文件系統(tǒng),部署了數(shù)臺(tái)KVM虛擬機(jī),每臺(tái)虛擬機(jī)包含一個(gè)qcow2格式的磁盤文件,和一個(gè)raw格式的磁盤文件
    的頭像 發(fā)表于 06-17 15:10 ?306次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>誤刪</b>除KVM虛擬機(jī)的數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—KVM虛擬機(jī)raw格式磁盤文件數(shù)據(jù)恢復(fù)案例

    : 工作人員操作失誤刪除了服務(wù)器上的3臺(tái)KVM虛擬機(jī),虛擬機(jī)運(yùn)行數(shù)據(jù)庫(kù),需恢復(fù)誤刪除虛擬機(jī)raw格式的磁盤
    的頭像 發(fā)表于 05-17 13:33 ?391次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—KVM虛擬機(jī)raw格式磁盤<b class='flag-5'>文件</b>數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)—EXT4文件系統(tǒng)下KVM虛擬機(jī)數(shù)據(jù)恢復(fù)案例

    發(fā)行版本。KVM使用Linux自身的調(diào)度器進(jìn)行管理。 本案例的服務(wù)器操作系統(tǒng)為Linux,文件
    的頭像 發(fā)表于 04-17 14:22 ?328次閱讀
    虛擬機(jī)數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—EXT4<b class='flag-5'>文件</b>系統(tǒng)下KVM虛擬機(jī)數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    小米電腦數(shù)據(jù)恢復(fù)的常用方法、工具和步驟

    在現(xiàn)代數(shù)字化時(shí)代,電腦已成為我們生活和工作必不可少的工具之一。然而,有時(shí)我們可能會(huì)遇到數(shù)據(jù)丟失的情況,這可能是因?yàn)?b class='flag-5'>誤刪、磁盤故障、操作系統(tǒng)崩潰等原因?qū)е隆1疚膶⒃敿?xì)介紹小米電腦數(shù)據(jù)恢復(fù)
    的頭像 發(fā)表于 01-25 11:10 ?2046次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)Linux操作系統(tǒng)服務(wù)器raid5數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 某品牌linux操作系統(tǒng)服務(wù)器,服務(wù)器中有4塊SAS接口硬盤組建一組raid5陣列。服務(wù)器存放的數(shù)據(jù)有數(shù)據(jù)庫(kù)、辦公文檔、代碼
    的頭像 發(fā)表于 11-28 15:07 ?479次閱讀

    分布式數(shù)據(jù)恢復(fù)-hbase+hive分布式存儲(chǔ)誤刪文件的數(shù)據(jù)恢復(fù)方案

    。 hbase+hive分布式存儲(chǔ)故障&初檢: 數(shù)據(jù)庫(kù)文件誤刪除,數(shù)據(jù)庫(kù)無(wú)法使用。 通過(guò)現(xiàn)場(chǎng)對(duì)該分布式環(huán)境的初步檢測(cè),發(fā)現(xiàn)虛擬機(jī)還可以正常啟動(dòng),虛擬機(jī)里面的數(shù)據(jù)庫(kù)塊文件丟失。好在塊
    的頭像 發(fā)表于 11-24 15:55 ?398次閱讀

    linux文件訪問(wèn)權(quán)限怎么設(shè)置

    Linux 文件訪問(wèn)權(quán)限是操作系統(tǒng)中一個(gè)非常重要的概念。正確地設(shè)置文件訪問(wèn)權(quán)限可以保護(hù)系統(tǒng)的安全性,防止未經(jīng)授權(quán)的人員對(duì)文件進(jìn)行修改、刪除或
    的頭像 發(fā)表于 11-23 10:20 ?1415次閱讀

    linux恢復(fù)遠(yuǎn)端備份文件

    Linux系統(tǒng),恢復(fù)遠(yuǎn)端備份文件是一項(xiàng)非常重要的工作。當(dāng)我們的數(shù)據(jù)丟失或損壞時(shí),從備份文件
    的頭像 發(fā)表于 11-23 10:08 ?458次閱讀

    linux系統(tǒng)備份與還原工具

    Linux系統(tǒng)備份與還原工具是用于備份和恢復(fù)Linux操作系統(tǒng)的工具。在日常使用,備份和還原是非常重要的
    的頭像 發(fā)表于 11-23 10:04 ?2511次閱讀