91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

Linux愛好者 ? 來源:Linux愛好者 ? 作者:Linux愛好者 ? 2020-12-11 16:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

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

因為如果不小心刪除了重要文件,就會導(dǎo)致個人或公司出現(xiàn)重大的損失。

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

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

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

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

1、lsof

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

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

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

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

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


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

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

lsof輸出信息的意義:

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

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

最常用參數(shù):

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

恢復(fù)文件操作

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

【1】lsof查看

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

lsof /mnt

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

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

【2】恢復(fù)

切換到/proc下,刪除文件對應(yīng)的進(jìn)程的pid下的文件描述符中的目錄中;將對應(yīng)的內(nèi)容重定向或cp到其他文件中
重點關(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

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

優(yōu)點:
相比于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ù)被覆蓋后無法找回

恢復(fù)仍有一定的機率失敗,平時應(yīng)對重要數(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命令會在src目錄下生成extundelete可執(zhí)行文件,可在此直接執(zhí)行恢復(fù)命令。


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

恢復(fù)文件操作

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

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

df-Th

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

2、對要恢復(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ù)單個目錄

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

extundelete /dev/vdb1 --restore-directory ferris

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

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

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

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

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

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

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

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

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

extundelete /dev/vdb1 --restore-all

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

責(zé)任編輯:lq

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

    關(guān)注

    88

    文章

    11760

    瀏覽量

    219020
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3702

    瀏覽量

    94028

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Linux文件刪除的底層原理和恢復(fù)方法

    rm -rf 大概是 Linux 世界里殺傷力最大的命令,沒有之一。手一抖、路徑一錯、通配符一飄,幾個 G 的數(shù)據(jù)就沒了。更要命的是 Linux 默認(rèn)沒有回收站機制,rm 刪掉的文件不會像 Windows 那樣安靜地躺在回收站里
    的頭像 發(fā)表于 02-11 09:14 ?457次閱讀

    Netapp數(shù)據(jù)恢復(fù)誤刪NetApp卷數(shù)據(jù):從崩潰到恢復(fù)的實戰(zhàn)復(fù)盤

    NetApp存儲數(shù)據(jù)恢復(fù)環(huán)境: NetApp某型號存儲存儲上有96塊SAS接口硬盤,硬盤扇區(qū)大小是520字節(jié)。所有l(wèi)un映射到小型機使用,存放Oracle數(shù)據(jù)庫文件,采用ASM裸設(shè)備存儲方式
    的頭像 發(fā)表于 11-25 14:33 ?228次閱讀
    Netapp數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>誤刪</b>NetApp卷數(shù)據(jù):從崩潰到<b class='flag-5'>恢復(fù)</b>的實戰(zhàn)復(fù)盤

    虛擬化數(shù)據(jù)恢復(fù)—Hyper-V服務(wù)癱瘓危機:虛擬機數(shù)據(jù)文件丟失后的數(shù)據(jù)恢復(fù)案例

    一臺服務(wù)器虛擬機數(shù)據(jù)文件丟失,hyper-v服務(wù)受到影響,服務(wù)器無法正常使用。 北亞企安數(shù)據(jù)恢復(fù)中心的硬件工程師對服務(wù)器進(jìn)行物理故障排查,未發(fā)現(xiàn)服務(wù)器存在物理故障。服務(wù)器數(shù)據(jù)恢復(fù)
    的頭像 發(fā)表于 11-20 15:47 ?346次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—意外斷電!Linux服務(wù)器數(shù)據(jù)恢復(fù)大揭秘

    某品牌服務(wù)器+存儲,安裝的linux操作系統(tǒng)。 機房意外斷電導(dǎo)致服務(wù)器操作系統(tǒng)無法正常啟動,服務(wù)器管理員故障服務(wù)器進(jìn)行修復(fù)操作后進(jìn)入系統(tǒng)查看數(shù)據(jù),發(fā)現(xiàn)部分服務(wù)器
    的頭像 發(fā)表于 11-18 11:20 ?429次閱讀

    Linux新手通關(guān)!5分鐘掌握文件/目錄管理,告別“找不到北”

    新手入門:Linux?文件?/?目錄管理實操指南 剛上手?Linux?的小伙伴,是不是常陷入這些?“混亂時刻”:想找的文件藏在層層目錄里,翻半天找不到;
    的頭像 發(fā)表于 11-17 10:42 ?427次閱讀
    <b class='flag-5'>Linux</b>新手通關(guān)!5分鐘掌握<b class='flag-5'>文件</b>/目錄管理,告別“找不到北”

    Mysql數(shù)據(jù)恢復(fù)—Windows Server下MySQL(InnoDB)全表誤刪數(shù)據(jù)恢復(fù)案例

    本地服務(wù)器,操作系統(tǒng)為windows server。服務(wù)器上部署mysql單實例,innodb引擎,獨立表空間。未進(jìn)行數(shù)據(jù)庫備份,未開啟binlog。 人為誤操作使用Delete命令刪除數(shù)據(jù)時未添加where子句,導(dǎo)致全表數(shù)據(jù)被刪除。刪除后未對該表進(jìn)行任何
    的頭像 發(fā)表于 09-23 15:56 ?733次閱讀
    Mysql數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—Windows Server下MySQL(InnoDB)全表<b class='flag-5'>誤刪</b>數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—服務(wù)器上的卷被誤刪數(shù)據(jù)如何恢復(fù)?

    工作人員不慎將一臺服務(wù)器上的卷誤刪除,服務(wù)器上有一組raid5陣列。需要恢復(fù)誤刪除的數(shù)據(jù)。
    的頭像 發(fā)表于 08-14 11:33 ?980次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—服務(wù)器上的卷被<b class='flag-5'>誤刪</b>數(shù)據(jù)如何<b class='flag-5'>恢復(fù)</b>?

    服務(wù)器數(shù)據(jù)恢復(fù)—重裝系統(tǒng)導(dǎo)致XFS文件系統(tǒng)分區(qū)丟失的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境&故障: 一臺服務(wù)器上通過磁盤柜+RAID卡組建的riad5磁盤陣列,服務(wù)器上層安裝Linux操作系統(tǒng),搭建XFS文件系統(tǒng)。服務(wù)器上層分配一個LUN,并劃分了兩個分
    的頭像 發(fā)表于 06-12 11:20 ?798次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—重裝系統(tǒng)導(dǎo)致XFS<b class='flag-5'>文件</b>系統(tǒng)分區(qū)丟失的數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—ocfs2文件系統(tǒng)被格式化為Ext4文件系統(tǒng)的數(shù)據(jù)恢復(fù)案例

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境&故障: 人為誤操作將Ext4文件系統(tǒng)誤裝入一臺服務(wù)器存儲上的Ocfs2文件系統(tǒng)數(shù)據(jù)卷上,導(dǎo)致原Ocfs2文件系統(tǒng)被
    的頭像 發(fā)表于 06-10 12:03 ?726次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—ocfs2<b class='flag-5'>文件</b>系統(tǒng)被格式化為Ext4<b class='flag-5'>文件</b>系統(tǒng)的數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)Linux系統(tǒng)服務(wù)器崩潰的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: linux操作系統(tǒng)服務(wù)器中有一組由4塊SAS接口硬盤組建的raid5陣列。 服務(wù)器故障: 服務(wù)器工作過程突然崩潰。管理員將服務(wù)器
    的頭像 發(fā)表于 05-20 15:46 ?869次閱讀

    分布式存儲數(shù)據(jù)恢復(fù)—虛擬機上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    分布式存儲數(shù)據(jù)恢復(fù)環(huán)境: 16臺某品牌R730xd服務(wù)器節(jié)點,每臺服務(wù)器節(jié)點上有數(shù)臺虛擬機。 虛擬機上部署Hbase和Hive數(shù)據(jù)庫。 分布式存儲故障: 數(shù)據(jù)庫底層文件誤刪除,數(shù)據(jù)庫不能使用。要求
    的頭像 發(fā)表于 04-17 11:05 ?719次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—AIX小型機誤刪數(shù)據(jù)如何恢復(fù)

    和oradata2。 AIX小型機采用JFS2文件系統(tǒng)分配和管理邏輯卷。JFS2文件系統(tǒng)的根目錄存儲Oracle數(shù)據(jù)庫核心文件(.dbf文件),用于支撐關(guān)鍵業(yè)務(wù)系統(tǒng)運行。 服務(wù)器
    的頭像 發(fā)表于 04-16 18:12 ?599次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—AIX小型機<b class='flag-5'>誤刪</b>數(shù)據(jù)如何<b class='flag-5'>恢復(fù)</b>!

    服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列硬盤壞道導(dǎo)致陣列崩潰的數(shù)據(jù)恢復(fù)案例

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境: 某品牌DS3512存儲中有一組由6塊SAS磁盤組建的raid5陣列。劃分一個lun分配給Linux系統(tǒng)服務(wù)器,并格式化成ocfs2文件系統(tǒng),共享給虛擬化使用,存放虛擬機
    的頭像 發(fā)表于 03-28 13:25 ?741次閱讀
    服務(wù)器數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—raid5陣列<b class='flag-5'>中</b>硬盤壞道導(dǎo)致陣列崩潰的數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>案例

    虛擬化數(shù)據(jù)恢復(fù)—VMware虛擬化環(huán)境下重裝系統(tǒng)導(dǎo)致服務(wù)器數(shù)據(jù)丟失的數(shù)據(jù)恢復(fù)

    VMware虛擬化平臺 vmfs文件系統(tǒng) 工作人員誤操作重裝操作系統(tǒng),服務(wù)器崩潰。 重裝系統(tǒng)會導(dǎo)致文件系統(tǒng)元文件被覆蓋。要
    的頭像 發(fā)表于 03-13 10:33 ?780次閱讀
    虛擬化數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>—VMware虛擬化環(huán)境下重裝系統(tǒng)導(dǎo)致服務(wù)器數(shù)據(jù)丟失的數(shù)據(jù)<b class='flag-5'>恢復(fù)</b>

    CHK文件恢復(fù)專家輔助程序

    CHK文件恢復(fù)專家u盤文件格式的輔助程序?
    發(fā)表于 03-06 17:21 ?0次下載