• [计算机提升] 文件的创建与删除原理


    1.10 文件的创建与删除

    创建文件
    盖大楼(文件本体),同时制作一个指向楼的路标(指针)。用户通过路标就能找到楼。
    删除文件(移动至回收站)
    在路标上写一个“拆”字。这样用户就不能再访问该文件了。
    恢复文件(从回收站恢复)
    将路标上的“拆”字抹掉。文件可以再次被访问。
    “完全”删除文件
    这里的“完全”删除指的是Shift+Delete直接删除,或从回收站删除。
    相当于把路标拆了,楼先留着。这样,只记路标位置的用户就无法找到这个楼的具体位置了,而且也不会消耗太多的时间(毕竟拆路标比拆楼容易多了)。
    此时,虽然楼还在原地,但是这块地已经被系统认定为“空地”了——文件本体占据的空间被加入到硬盘可用空间中。
    恢复“完全”删除的文件
    因为废弃的大楼还在原地,专业的搜救队(数据恢复工具)还是有可能找到它的。然而楼附近很可能都是废墟(被删除数据),它们可能会干扰搜救队的判断,造成抢救失败。一般来说,搜救队会尝试将楼1:1整体复制到其他场所,这样如果抢救失败了,用户还有机会请求其他搜救队的帮助;而如果原地抢救,万一失败,可能会对楼造成无法逆转的破坏。

    1.10.1 恢复文件的原理

    从一片废墟中找到目标大楼的“招牌”。找到之后,以找到的楼为原型,在其他地方建造一模一样的新楼。
    招牌:绝大多数的文件都以特定内容开头和结尾,比如GIF格式图片一定是以GIF87a或者GIF89a开头、十六进制数字“3B”结尾。只要定位到特定文件头、文件尾,基本就能确定这部分数据属于同一个文件,以及判断出该文件的格式。

    1.10.2 再创建文件

    施工队到达施工现场后,发现这里已经有大楼存在,但是这个大楼已经废弃,于是把它炸了,盖新的楼。这时候原来的楼就彻底找不到了,最多只能抢救出一部分残骸。
    注:以上信息仅对普通硬盘有效;如果使用的是SSD固态硬盘,且SSD硬盘本身和操作系统都支持 Trim 指令,则在执行“完全”删除操作的同时,会立刻开始拆楼,因此删除的数据无法找回。

    1.10.3 “粉碎”文件

    使用第三方工具,在普通硬盘上彻底删除文件:将原来的楼炸掉,然后在废墟上搭建违章建筑(全零、全一,或者随机无用数据)。搭建完成后,将违章建筑炸掉,再搭建新的违章建筑。如此反复一定次数后,原来的楼就连渣都找不到了。
    该操作需要在炸楼后盖新楼(且可能会盖好几次),因此速度非常慢。
    请不要在SSD固态硬盘上使用文件粉碎工具,因为:
    1、SSD硬盘的寿命与写入数据的次数有关。文件粉碎工具会多次写入数据,严重影响硬盘寿命。
    2、由于耗损平均技术( Wear Leveling),在SSD硬盘上无法强行指定写入数据的位置,这一点与普通硬盘不同。也就是说,SSD硬盘上搭建的违章建筑很可能和原来的楼位置完全不同,无法达到破坏楼的效果。
    3、由于上文中提到的 Trim指令,一般并不需要刻意执行“粉碎文件”操作。

  • 相关阅读:
    vue2和vue3的区别,优缺点,vue3新特性
    HTML做一个简单漂亮的宠物网页(纯html代码)
    CentOS 挂载新磁盘以及磁盘扩容操作教程
    项目环境配置
    点云预处理(点云滤波)学习记录
    理解React页面渲染原理,如何优化React性能?
    Python——基础
    java下载特定格式excel
    SpringBoot和SpringMVC的区别
    机器学习的数据质量
  • 原文地址:https://blog.csdn.net/crleep/article/details/134003375