Unix系統(tǒng)中知識講解
Unix系統(tǒng)下刪除一個(gè)文件的過程很簡單,那就是釋放索引節(jié)點(diǎn)表和文件占用的數(shù)據(jù)塊,清空文件占用的索引節(jié)點(diǎn),但不清除文件內(nèi)容。但刪除文件與刪除目錄的處理不盡相 同,不同命令刪除文件的過程也不相同。
要恢復(fù)被刪除的文件,只能根據(jù)刪除后留下的東西去做文章。文件被刪除后留下了什么呢?由上述分析可知: 其一,留下了文件的內(nèi)容; 其二,留下了“現(xiàn)場”。文件的恢復(fù)策略只能從這兩個(gè)方面來分析。
若現(xiàn)場已被破壞,即硬盤發(fā)生過寫操作,那么只好根據(jù)內(nèi)容來恢復(fù)。而且,由于Unix系統(tǒng)是一個(gè)多進(jìn)程、多用戶系統(tǒng),它每一次開關(guān)機(jī)或硬件、通信故障等都會(huì)記錄 系統(tǒng)日志、.sh_history等,硬盤現(xiàn)場被破壞的可能性極大。因此討論按內(nèi)容恢復(fù)的方法具有更大的實(shí)用價(jià)值。筆者經(jīng)過實(shí)際探索得出下列四種恢復(fù)策略 供參考。
● 關(guān)鍵字搜索法
如果知道被刪除的文件內(nèi)容中若干字節(jié)的內(nèi)容,而且該文件長度又不超過一個(gè)磁盤 塊,那么可以在整個(gè)文件系統(tǒng)中搜索這一字節(jié)串,得出一個(gè)文件所在的數(shù)據(jù)塊,將它們的塊號填入一個(gè)i節(jié)點(diǎn),即可恢復(fù)一個(gè)文件。
搜索文件系統(tǒng)的算法很簡單,說 明如下: 首先,用“#df -k”命令確定文件系統(tǒng)的設(shè)備文件名(如/dev/root); 然后,用下述函數(shù)搜索,若成功,返回?cái)?shù)據(jù)塊號,反之返回-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; /* 若成功返回塊號 */
- i++;
- }
- fclose(fp);
- return -1; /* 未找到符合條件的塊,返回-1*/ }
● 精確長度搜索法
如果知道被刪除文件的精確長度(字節(jié)數(shù)),那么可根據(jù)一個(gè)數(shù)據(jù)塊的大小,計(jì)算出文件的***一個(gè)數(shù)據(jù)塊中數(shù)據(jù)的精確長度,該數(shù)據(jù)塊中其他字節(jié)必然是全0。
根據(jù)這一條件,通過搜索整個(gè)文件系統(tǒng),找出其中符合條件的數(shù)據(jù)塊,若出現(xiàn)多個(gè)塊符合要求,則還需要根據(jù)其他條件區(qū)分。但不管怎樣,根據(jù)精確長度分析也是恢復(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)系,那么也可通過搜索整個(gè)文件系統(tǒng),通過反復(fù)嘗試尋找符合關(guān)聯(lián)條件的磁盤數(shù)據(jù)塊,進(jìn)而恢復(fù)一個(gè)文件。
● 環(huán)境比較法
如果知道刪除文件所在的文件系統(tǒng)的安裝過程,那么,另找一臺完全相同的機(jī)器,按原來完全相同的步驟安裝相同版本的Unix系統(tǒng)和相應(yīng)的其他軟件。
可以想象,新的機(jī)器環(huán)境會(huì)與原來的環(huán)境基本相同,比較兩個(gè)機(jī)器上相同文件系統(tǒng)的內(nèi)容,可以推斷出被刪除文件的大致位置,至少可以大大減少查找的范圍,一旦查找的范圍足夠小時(shí),就可以用逐個(gè)觀察和嘗試的方法結(jié)合其他條件恢復(fù)數(shù)據(jù),降低恢復(fù)的難度,增加恢復(fù)的可靠性。
Unix系統(tǒng)的中的如何來恢復(fù)被刪除的文件的講解就到這里了。
【編輯推薦】