淺淺淺談計算機中文件的儲存與刪除


淺淺淺談計算機中文件的儲存與刪除

 

一.聲明

 

01 本篇文章的所有內容均是基於Windows下的,具體版本為Windows10專業版,版本號21H1,操作系統內部版本19043.1320

02 本文章借鑒或引用了部分網絡上的博客,文章以及回答,如有侵權,請聯系作者刪除。

03 作者是萌新,如果文章中有錯誤,請告訴我,我會即時改正,謝謝。

04 本作品采用知識共享署名-相同方式共享 4.0 國際許可協議進行許可。

 

二.引子

 

前幾天在網上買了張tf卡,拆開之后發現里面還有一個小紙片,說是閃迪免費贈送的數據恢復軟件的激活碼。突然聯想到我們平時所刪除的各種文件,好像在物理意義上都是沒有被真正刪除的,無論是各種影視作品還是現實生活中,我們都能看到或聽說數據恢復這個神奇的東西。突然間興趣來了,決定研究研究計算機中文件的存儲與刪除,順便水篇博客

 

三.計算機中文件的存儲

 

首先,目前市場上所有的個人計算機(pc)中,所有的文件最終都是以二進制來存儲的,這點很多人都知道。其中計算機中的文件一般分為兩類,二進制文件和文本文件,文本文件和二進制文件都是存儲的二進制0和1,區別在於:

文本文件:二進制是以字符編碼方式存儲的,如utf-8, gbk,規則比較簡單

二進制文件:二進制沒有以字符編碼的方式存儲,規則復雜,只有計算機能夠理解

這其中我們常見的圖形文件及文字處理程序等計算機程序都屬於二進制文件。這些文件含有特殊的格式及計算機代碼。而文本文件則是可以用任何文字處理程序閱讀的簡單文本文件。

那么接下來,我們研究在Windows下,文件是如何存儲在磁盤里的吧。

在windows操作系統中,硬盤被分為5個區域。即MBR,DBR,FAT,FDT,DATA。各區域的具體作用如下:

1、MBR:主引導區記錄(Muster Boot Recond)
MBR位於硬盤的柱面0、磁頭0、扇區1的位置,也即俗稱的零磁道位置。它是由分區命令Fdisk產生的。它的結束標志為"55 AA"。
2、DBR:DOS啟動記錄(DOS Boot Record)
DBR即操作系統引導記錄區,位於硬盤的柱面0、磁頭1、扇區1的位置。它是由格式化命令Format產生的,是操作系統可以直接訪問的第一個扇區。它包括一個引導程序和一個本分區參數記錄表(BIOS Parameter Block)。其中引導程序的主要任務是,當MBR將系統控制權交給它時,判斷本分區根目錄前兩個文件是不是操作系統的引導文件,如果是則把該文件讀入內存,並把控制權交給它。而BPB參數塊記錄着本分區的起始扇區、結束扇區、文件存儲格式、硬盤介質描述符、根目錄大小和FAT個數,分配單元額大小等重要參數。
3、FAT:文件分配表(File Allocation Table)
在windows系統中,同一個文件是被分成若干段,像鏈條一樣,然后各段被分散的存在硬盤的各個簇中,而在FAT中保存着各段與各段之間的連接信息,因此系統在讀取文件時總能根據FAT中的記錄准確的找到各段的位置並正確讀取。故在FAT表中保存着那些簇已經被文件占用的記錄,同時還必須為每個已經占用的簇指明存儲后繼內容的下一個簇的簇號,對一個文件的最后一簇,則指明本簇無后繼簇。

4、DIR:根目錄區(Directory)

該區也稱為文件目錄表 FDT(File Directory Table),該區主要記錄根目錄下每個文件(目錄)的起始單元,文件屬性等。

5、DATA:數據區

這是真正意義上的數據存取的地方,位於DIR之后。

實際操作時,系統對文件的管理鏈條如下圖所示

 

了解了上述知識后,我們還需要知道文件的具體部分,一般的文件包括了三部分,分別是:文件頭,主體內容,文件尾。這里我們以一張圖片為例子

 

這張圖片是jpg格式的,那他的具體內容有哪些呢,我們用16進制編輯器010editor將其打開(為什么用16進制編輯器?因為二進制只有0和1,在一堆0和1里,普通人很難看懂,因此我們引入了8進制和16進制,他們與二進制之間轉換很方便,而且與二進制比較更加方便閱讀書寫和記憶)

 

可以看到文件頭為FF D8 FF,而文件尾為FF D9,這是jpg格式圖片的文件頭和尾,具體各種類型文件的頭和尾可以參考如下鏈接:

https://blog.csdn.net/xiangshangbashaonian/article/details/80156865

需要注意的是txt文件,也就是文本文件是沒有頭的哦。

 

其中,文件都存儲在磁盤中,而磁盤也根據每一個區域的相應作用將其對應部分進行存儲

 

以上便是文件存儲的基本知識,下面我們來介紹文件的刪除。

 

四.計算機中文件的刪除

 

在windows下,我們可以用很多方式刪除文件,第一種,把要刪除的文件/文件夾放入回收站,這樣操作只意味着把那些文件暫時存放在回收站里,如果你以后需要這些文件,可以隨時還原到原來存儲的地方。第二種,按Shift+Del直接刪除文件或者先把文件刪進回收站再清空回收站,這樣的操作看似無法恢復,然而其實文件並沒有實質性的刪除,這只是一種邏輯性的刪除。

 

例如在E盤建立一TXT文件,命名Test.txt,用 windows 系統的徹底刪除方法:shift+delete 來刪除,然后分別查看其刪除前后的FDT和FAT表(采用winhex完成),此種情況下,不僅FDT表發生了改變,同時文件的FAT鏈已經遭到破壞,此時在FAT表中用於描述該文件的登記項已經被清零,表示為空簇,但是即使此種情況下,DATA區中相應的扇區並沒有變化,只是出於DATA的數據由 FDT 和FAT來解釋,因此對系統來講因為 FDT和FAT的破壞已經在DATA區找不到想要的文件了,這便是文件刪除的原理。

從以上文件刪除原理知道,以上操作僅僅是破壞了文件系統的 FDT或者 FAT表,DATA區域的數據並沒有遭到破壞,因此可以按照文件系統的存儲原理,根據可觀察的信息反過來確定記錄文件或者目錄存儲位置,即恢復FAT或者FDT表,從而使系統能正常訪問這些"丟失"的數據。因此就有了市面上常用的一些數據恢復工具,他們的工作原理正如上述內容所描述的那樣。

 

需要特別注意的是,若文件被徹底刪除需要恢復的話,必要的前提是DATA區域的數據沒有被覆寫,修改和破壞。因此若徹底刪除了某文件想要恢復的話,在徹底刪除該文件后理論上不能對原文件所在的相應盤符進行操作。否則即使恢復出相應文件,DATA區的數據也可能有損失或被破壞。

 

以上便是計算機中文件刪除的相應介紹,作者是萌新玩家,如果有錯誤和紕漏,請及時批評指正,感激不盡。

 

五.參考文獻

[1]https://blog.csdn.net/xiangshangbashaonian/article/details/80156865

[2] https://blog.csdn.net/freeking101/article/details/102908538

[3]朱蓉,鄭建華. 文件刪除的原理及應用[J]. 智能計算機與應用.2006,(1): 54-55.

[4]高君芳. 磁盤文件的徹底刪除[J]. 北京:電腦編程技巧與維護,1995(4): 49-51.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM