某一天你收到了朋友发给你的一个秘密文件,在看完之后,为了不被别人发现,你决定将文件毁尸灭迹!
你选中文件名称 / 右键 / 删除,好了,文件已经消失了。但你是懂电脑的,知道文件此时还在回收站里面,于是再选中回收站 / 右键 / 清空回收站 ,操作一气呵成,心想,”这下稳了,没有人可以发现你的秘密了。“
又或者是某天当你想要升级你的电脑或者硬盘时,旧电脑或者硬盘那不得卖了回点血。但是为了不让别人发现你的小秘密,你肯定会选择格式化所有磁盘。
但是,不管是删除还是格式化之后,这时候文件真的已经被删除了吗?
0x00
要知道为什么,首先得先简单的了解一下文件的存储形式。我们知道,我们的文件一般文件都是存储在硬盘上(不管是之前的机械硬盘,还是现在的固态硬盘)。而我们的操作系统(比如Windows、MacOS等),则负责来管理和操作我们的硬件,其中当然包括的硬盘。
但是硬盘本身是没有脑子的,而且也也只能存储0或者1,那就会有一堆的问题:
• 那我们的数据要写到哪里?
• 我们又要怎么去找到我们写入的信息?
• 哪里地方是可以写的,哪些地方已经写了数据了?
所以操作系统为了更好的让我们管理数据,抽象出来了文件这个概念,并且把专门用来管理文件的这部分功能称为“文件系统(file system)”。
0x01
那有了上面的基本知识,我们再看操作系统是怎么管理文件的。比如你下载的秘密文件,假设是存储在d:/video.mp4
,那当我们打开video.mp4时,又是怎么在硬盘上找到这个文件数据的呢?我们简化一下流程,大概是这样:
d:/video.mp4
相当于一个目录索引,通过它的地址,我们可以硬盘上的真实地址,进而找到文件的数据。
就像我们看书一样,先通过目录video(d:/video.mp4)找到了对应页码p10(0x00ff00),然后把书翻到p10就可以找到对应的内容了。
0x02
那删除文件呢?实际上你在点击删除文件时,操作并不会真的把硬盘上的这段数据给它抹除掉,它只做两个操作:
1. 将索引删掉。
2. 将索引对应的那段地址标记为可写。
什么意思呢?还是以书本来作为例子:比如某天你通知我,让我删了某本书的第一个章节(第1-10页)。
我收到通知后,直接把第一章的目录给你删了,这时候你就看不到了哦,让你以为文件已经删除了。但是实际上呢?第1-10页的内容还是在那里,原封不动。
同时等下次你要写新的内容时,我可能就会从第一页开始写,慢慢的把原来的第一章(1-10页)的内容给覆盖掉,这时候,你原来的文件才真正的被抹除了。
0x03
所以当我们右键点击删除文件后,即使清空了回收站,文件内容仍然还保存在硬盘中,仅仅只是删除了对应的文件索引而已。
这就是为什么我们的文件被删除后,我们拿着硬盘去修理店或者使用某些恢复软件,还有可能恢复已经删除的数据,但是又不是所有的数据都能够被恢复。这主要取决于,你的硬盘在删除文件后,有没有写入新的数据将原来的文件覆盖掉。
所以,如果当你想要出售你的硬盘时,最好在格式化磁盘之后,再写入一些大文件,重复操作几次。你不会希望购买你硬盘的人恢复你的硬盘数据吧?
加个星标关注不迷路 ★ 更多原创文章第一时间推送!
点赞,在看,分享,我都可以的
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...