国产黄免费_公交车被弄到高潮嗯啊视频_一级中国黄色片_闺蜜互慰吃奶互揉69式磨豆腐_婷婷av一区二区三区_91精品国产日韩_91精品国产色综合久久不卡粉嫩_国产美女囗交免费视频_ktv多人换着伦高h_国产精品任我爽爆在线播放

當(dāng)前位置:首頁(yè) > 長(zhǎng)沙網(wǎng)站建設(shè) > 如何恢復(fù)被刪除的文件

如何恢復(fù)被刪除的文件

被刪文件的恢復(fù)策略


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


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


  如果文件被刪除,現(xiàn)場(chǎng)未被破壞(即文件被刪除后硬盤(pán)未發(fā)生過(guò)寫(xiě)操作),而且假定只刪除了一個(gè)文件,那么可根據(jù)系統(tǒng)的分配算法進(jìn)行恢復(fù)。因?yàn)橄到y(tǒng)建立一個(gè)文件時(shí),必定根據(jù)某一特定的分配算法決定文件占用的數(shù)據(jù)塊位置。而當(dāng)該文件被刪除后,它所占用的數(shù)據(jù)塊被釋放,又回到系統(tǒng)的分配表中,這時(shí)如果重新建立一個(gè)文件,系統(tǒng)根據(jù)原來(lái)的分配算法分配出的數(shù)據(jù)塊必定跟該文件原來(lái)占用的數(shù)據(jù)塊一致,而且我們知道,UNIX文件最后一數(shù)據(jù)塊尾部多出的字節(jié)是全部置0的,據(jù)此只要調(diào)用系統(tǒng)的數(shù)據(jù)分配算法,在系統(tǒng)中一塊塊的申請(qǐng)數(shù)據(jù)塊,因?yàn)閁NIX文件最后一個(gè)數(shù)據(jù)塊尾部多出的字節(jié)全部為0,所以,只要發(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è)新文件名而不寫(xiě)入任何內(nèi)容。如:#>/tmp/xx


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


 ?、亲x出這個(gè)數(shù)據(jù)塊,判斷其尾部是否全部連續(xù)為0,若不是,則回到(2),若是,則進(jìn)行(4)。


 ?、仁紫扔孟到y(tǒng)函數(shù)fstat得到/tmp/xx的i節(jié)點(diǎn)號(hào),然后將(2)步所得的地址表寫(xiě)入索引節(jié)點(diǎn)的地址表中(注意間址問(wèn)題),并根據(jù)數(shù)據(jù)塊個(gè)數(shù)和最后一塊中有效數(shù)據(jù)長(zhǎng)度計(jì)算出文件大小,寫(xiě)入i節(jié)點(diǎn)的di_size字段。


 ?、苫貙?xiě)系統(tǒng)的索引節(jié)點(diǎn)表即可。


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


  2. 根據(jù)內(nèi)容恢復(fù)。


  若現(xiàn)場(chǎng)已被破壞,即硬盤(pán)發(fā)生過(guò)寫(xiě)操作,那么只好根據(jù)內(nèi)容來(lái)恢復(fù)。而且,由于UNIX是一個(gè)多進(jìn)程、多用戶(hù)系統(tǒng),它每一次開(kāi)關(guān)機(jī)或硬件、通訊故障等都會(huì)記錄系統(tǒng)日志、.sh_history等,硬盤(pán)現(xiàn)場(chǎng)被破壞可能性極大。因此討論按內(nèi)容恢復(fù)的方法具有更大的實(shí)用價(jià)值。筆者經(jīng)過(guò)實(shí)際探索得出下列四種恢復(fù)策略供參考。


 ?、抨P(guān)鍵字搜索法


  如果知道被刪除的文件內(nèi)容中若干字節(jié)的內(nèi)容,而且該文件長(zhǎng)度又不超過(guò)一個(gè)磁盤(pán)塊,那么可以在整個(gè)文件系統(tǒng)中搜索這一字節(jié)串,得出一個(gè)文件所在的數(shù)據(jù)塊,將它們的塊號(hào)填入一個(gè)i節(jié)點(diǎn),即可恢復(fù)一個(gè)文件,搜索文件系統(tǒng)的算法很簡(jiǎn)單,說(shuō)明如下:


  a. #df -k 確定文件系統(tǒng)的設(shè)備文件名(如/dev/root)


  b.用下述函數(shù)搜索,若成功,返回?cái)?shù)據(jù)塊號(hào),反之返回-1。其中fsname是文件系統(tǒng)的設(shè)備名,如/dev/root,comp()參數(shù)是實(shí)現(xiàn)搜索條件的函數(shù)。


  long searchfs(char *fsname , int comp())


  {


  FILE *fp;


  char buf[1024];


  long i=0;


  fp=fopen(fsname,"r");


  while (!feof(fp))


  {


  fread(buf,1024,1,fp);


  if (comp()) /* 檢查是否符合搜索條件 */


  return i; /* 若成功返回塊號(hào) */


  i++;


  }


  fclose(fp);


  return -1; /* 未找到符合條件的塊,返回-1*/


  }


 ?、凭_長(zhǎng)度搜索法


  如果知道被刪除文件的精確長(zhǎng)度(字節(jié)數(shù)),那么可根據(jù)一個(gè)數(shù)據(jù)塊的大小,計(jì)算出文件的最后一個(gè)數(shù)據(jù)塊中數(shù)據(jù)的精確長(zhǎng)度,該數(shù)據(jù)塊中其他字節(jié)必然是全0。根據(jù)這一條件,通過(guò)搜索整個(gè)文件系統(tǒng),找出其中符合條件的數(shù)據(jù)塊,若出現(xiàn)多個(gè)塊符合要求,則還需要根據(jù)其他條件區(qū)分。但不管怎樣,根據(jù)精確長(zhǎng)度分析也是恢復(fù)數(shù)據(jù)的一個(gè)策略。


  ⑶內(nèi)容關(guān)聯(lián)法


  如果知道文件內(nèi)容中存在某種可實(shí)現(xiàn)的關(guān)聯(lián),例如文件的校驗(yàn)和,或者文件內(nèi)容的某種上下文關(guān)系,那么也可通過(guò)搜索整個(gè)文件系統(tǒng),通過(guò)反復(fù)嘗試尋找符合關(guān)聯(lián)條件的磁盤(pán)數(shù)據(jù)塊,進(jìn)而恢復(fù)一個(gè)文件。


 ?、拳h(huán)境比較法


  如果知道刪除文件所在的文件系統(tǒng)的安裝過(guò)程,那么,另行找一臺(tái)完全相的機(jī)器,按原來(lái)完全相同的步驟安裝相同版本的UNIX和相應(yīng)的其他軟件,可以想象,新的機(jī)器環(huán)境會(huì)與原來(lái)的環(huán)境基本相同,比較兩個(gè)機(jī)器上相同文件系統(tǒng)的內(nèi)容,可以推斷出被刪除文件的大致位置,至少可以大大減少查找的范圍,一旦查找的范圍足夠小時(shí),可以用逐個(gè)觀(guān)察和嘗試的方法結(jié)合其他條件恢復(fù)數(shù)據(jù),降低恢復(fù)的難度,增加恢復(fù)的可靠性。


  UNIX系統(tǒng)下文件系統(tǒng)恢復(fù)的具體實(shí)現(xiàn)依賴(lài)于不同操作系統(tǒng)和不同版本的具體文件系統(tǒng)結(jié)構(gòu)和磁盤(pán)塊分配算法。本文試圖總結(jié)出一種一般性的思路和策略,限于篇幅,不能詳細(xì)討論它們的具體實(shí)現(xiàn)過(guò)程。

發(fā)表評(píng)論
◎歡迎參與討論,請(qǐng)?jiān)谶@里發(fā)表您的看法、交流您的觀(guān)點(diǎn)。

相關(guān)文章

2021年優(yōu)度成功簽約并完成泰坦凝膠官網(wǎng)

2021年優(yōu)度成功簽約并完成泰坦凝膠官網(wǎng)

此網(wǎng)站采用標(biāo)準(zhǔn)網(wǎng)站建設(shè)方案,PC+移動(dòng)自動(dòng)轉(zhuǎn)換模式,網(wǎng)站產(chǎn)品為一款火爆的微商產(chǎn)品,也是一款男性用品。...

備案與沒(méi)備案的新網(wǎng)站老域名為什么百度都不收錄?

備案與沒(méi)備案的新網(wǎng)站老域名為什么百度都不收錄?

現(xiàn)在互聯(lián)網(wǎng)越來(lái)越難做,百度的門(mén)檻越來(lái)越高,以前新網(wǎng)站上線(xiàn)提交后3天就會(huì)收錄,現(xiàn)在新網(wǎng)站上線(xiàn)每天提交還不一定會(huì)收錄,必須結(jié)合外鏈才有效。...

做好“著陸頁(yè)”,公司銷(xiāo)售業(yè)績(jī)將提升一大步

做好“著陸頁(yè)”,公司銷(xiāo)售業(yè)績(jī)將提升一大步

當(dāng)今,一個(gè)能在用戶(hù)尋找“返回”按鈕之前抓住用戶(hù)眼球的著陸頁(yè)比以往任何時(shí)候都更有商業(yè)價(jià)值。值得慶幸的是,一個(gè)好的著陸頁(yè)面的設(shè)計(jì)過(guò)程比以往更加容易把握,訣竅在于弄清楚實(shí)現(xiàn)這個(gè)非常重要的切入點(diǎn)所需的核心要素...

什么是關(guān)鍵詞?

什么是關(guān)鍵詞?

關(guān)鍵詞就是你向搜索引擎發(fā)出的一個(gè)指令,是讓搜索引擎幫助你查找相關(guān)信息的命令,它可以是一個(gè)字,也可以是一個(gè)詞、一句話(huà)、一個(gè)英字母、英文單詞、一個(gè)數(shù)字、一個(gè)符號(hào)等任何可以在搜索框中輸入的信息。...

什么樣的網(wǎng)站才是一個(gè)合格的SEO網(wǎng)站?

什么樣的網(wǎng)站才是一個(gè)合格的SEO網(wǎng)站?

在講網(wǎng)站之前還是來(lái)介紹一下什么是網(wǎng)站,因?yàn)檫@里的學(xué)員還有很多SEO初學(xué)者,網(wǎng)站就好比是我們?cè)谀硞€(gè)商場(chǎng)、某個(gè)小區(qū)開(kāi)的一個(gè)店鋪,你做生意肯定是有一個(gè)店鋪的對(duì)吧,那么網(wǎng)站就是一個(gè)互聯(lián)網(wǎng)上的店鋪,是一個(gè)虛擬的...