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

Unix刪除文件的找回方法

系統(tǒng) 其他OS
Unix刪除一個(gè)文件的具體步驟是: 根據(jù)文件i節(jié)點(diǎn)的地址表逐一釋放文件占用的磁盤數(shù)據(jù)塊,然后清空相應(yīng)的節(jié)點(diǎn),最后釋放i節(jié)點(diǎn)。

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

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

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

1.根據(jù)磁盤現(xiàn)場(chǎng)進(jìn)行恢復(fù)

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

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

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

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

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

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

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

● 回寫系統(tǒng)的索引節(jié)點(diǎn)表即可。

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

【編輯推薦】

  1. Unix操作系統(tǒng)腳本的講解
  2. Unix文本文件知識(shí)講解
  3. Unix操作系統(tǒng)進(jìn)程知識(shí)學(xué)習(xí)
  4. Unix操作系統(tǒng)中DOS文件知識(shí)
  5. Unix文件系統(tǒng)自動(dòng)安裝與拆卸
責(zé)任編輯:小霞
相關(guān)推薦

2010-04-30 18:32:52

Unix刪除

2011-07-20 13:07:30

Windows 7恢復(fù)

2010-04-13 14:19:51

Unix文件

2010-05-04 09:36:02

Unix文件

2010-04-19 17:10:53

Oracle用戶密碼

2010-04-30 10:59:11

Unix Swap

2020-10-18 08:46:14

找回回收站文件

2010-05-10 19:03:00

Unix文件

2009-07-18 10:42:23

粘著位Unix文件惡意刪除

2009-08-30 15:00:35

UnixUnix文件惡意刪除

2019-07-17 09:20:00

Scalpel系統(tǒng)管理員Linux

2009-08-17 07:58:00

C#刪除文件目錄

2021-03-08 09:32:04

Python文件命令

2013-06-05 11:41:53

2018-11-07 16:01:57

安卓

2010-05-05 16:36:24

Unix系統(tǒng)

2010-04-30 11:22:23

Unix系統(tǒng)

2010-04-14 09:28:44

Unix操作系統(tǒng)

2010-09-01 16:17:40

SQL刪除日志

2024-08-06 11:40:57

點(diǎn)贊
收藏

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