浅浅浅谈计算机中文件的储存与删除

浅浅浅谈计算机中文件的储存与删除

 

一.声明

 

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.

posted @ 2021-11-10 12:34  wysng  阅读(580)  评论(0编辑  收藏  举报