自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unix文件恢復(fù)方法演講

系統(tǒng) 其他OS
如果Unix文件被刪除,現(xiàn)場未被破壞(即文件被刪除后硬盤未發(fā)生過寫操作),而且假定只刪除了一個文件,那么可根據(jù)系統(tǒng)的分配算法進行恢復(fù)。

我們知道Unix文件被刪除的過程很簡單,那就是釋放索引節(jié)點表和文件占用的數(shù)據(jù)塊,清空文件占用的索引節(jié)點,但不清除文件內(nèi)容。但刪除文件與刪除目錄的處理不盡相同,不同命令刪除文件的過程也不相同。

Unix文件被刪除一個的具體步驟是: 根據(jù)文件i節(jié)點的地址表逐一釋放文件占用的磁盤數(shù)據(jù)塊,然后清空相應(yīng)的節(jié)點,***釋放i節(jié)點。 刪除一個目錄的過程是: 首先逐一刪除目錄里的所有文件,然后刪除目錄。目錄本身也是一個文件,故刪除方法與刪除文件一致。

要恢復(fù)被刪除的文件,只能根據(jù)刪除后留下的東西去做文章。文件被刪除后留下了什么呢?由上述分析可知: 其一,留下了文件的內(nèi)容; 其二,留下了“現(xiàn)場”。文件的恢復(fù)策略只能從這兩個方面來分析。

根據(jù)磁盤現(xiàn)場進行恢復(fù)

如果文件被刪除,現(xiàn)場未被破壞(即文件被刪除后硬盤未發(fā)生過寫操作),而且假定只刪除了一個文件,那么可根據(jù)系統(tǒng)的分配算法進行恢復(fù)。因為系統(tǒng)建立一個文 件時,必定根據(jù)某一特定的分配算法決定文件占用的數(shù)據(jù)塊位置。

而當該文件被刪除后,它所占用的數(shù)據(jù)塊被釋放,又回到系統(tǒng)的分配表中,這時如果重新建立一個 文件,系統(tǒng)根據(jù)原來的分配算法分配出的數(shù)據(jù)塊必定跟該文件原來占用的數(shù)據(jù)塊一致。

而且我們知道,Unix文件***一個數(shù)據(jù)塊尾部多出的字節(jié)是全部置0的, 據(jù)此只要調(diào)用系統(tǒng)的數(shù)據(jù)分配算法,在系統(tǒng)中一塊一塊地申請數(shù)據(jù)塊,只要發(fā)現(xiàn)一個分配出的數(shù)據(jù)塊中尾部全為0,即可認為文件結(jié)束,由此可確定文件長度和內(nèi) 容,進而實現(xiàn)恢復(fù)。方法如下:

申請一個索引節(jié)點,即向系統(tǒng)申請創(chuàng)建一個新文件名而不寫入任何內(nèi)容。如: #>/tmp/xx。

調(diào)用系統(tǒng)分配數(shù)據(jù)塊算法getnextfreeblock()得到一個數(shù)據(jù)塊號,記入某一地址表變量中。

讀出這個數(shù)據(jù)塊,判斷其尾部是否全部連續(xù)為0,若不是,則回到第二步,若是,則進行第四步。

首先用系統(tǒng)函數(shù)fstat得到/tmp/xx的i節(jié)點號,然后將第二步所得的地址表寫入索引節(jié)點的地址表中(注意間址問題),并根據(jù)數(shù)據(jù)塊個數(shù)和***一塊中有效數(shù)據(jù)長度計算出文件大小,寫入i節(jié)點的di_size字段。 回寫系統(tǒng)的索引節(jié)點表即可。

需要說明的是: ***,系統(tǒng)分配數(shù)據(jù)塊的算法因不同的Unix版本而不同; 第二,有的Unix如SCO Unix 5.0版,其空閑數(shù)據(jù)塊的分配和回收是使用一種動態(tài)鏈表的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)的,它們的Unix文件恢復(fù)更加容易,只要在空閑鏈表中的表尾去尋找即可。

【編輯推薦】

  1. Unix系統(tǒng)是門藝術(shù)
  2. Unix系統(tǒng)中Cygwin的功能講解
  3. SCO Unix磁盤塊分配算法
  4. 3種找回nix刪除文件方法
  5. Unix刪除文件的找回方法
責任編輯:小霞
相關(guān)推薦

2010-10-19 14:19:07

SQL Server恢

2010-07-02 09:36:30

SQL Server

2011-02-28 13:31:17

Oracle數(shù)據(jù)庫

2010-09-03 11:57:20

SQL刪除

2010-07-19 15:21:03

Win2000 Tel

2011-05-13 13:15:52

SYBASE ASA數(shù)

2010-09-02 14:04:20

2021-10-20 14:38:27

物聯(lián)網(wǎng)災(zāi)難恢復(fù)IOT

2010-08-04 14:38:34

路由器密碼

2011-04-12 15:44:08

Oracle數(shù)據(jù)庫

2009-08-29 08:44:05

Windows 7Aero恢復(fù)

2009-11-11 09:50:25

思科路由器口令恢復(fù)

2010-05-07 11:22:18

Unix操作系統(tǒng)

2009-04-10 01:46:41

2018-11-08 09:09:37

Linux系統(tǒng)恢復(fù)

2009-12-23 15:59:37

2009-06-17 12:57:00

Linux

2010-09-02 09:37:36

SQL刪除

2024-05-23 13:49:00

Kuberneteetcd集群

2010-04-13 14:19:51

Unix文件
點贊
收藏

51CTO技術(shù)棧公眾號