File io 我可以这样安全地删除文件吗?

File io 我可以这样安全地删除文件吗?,file-io,hard-drive,File Io,Hard Drive,假设我有一个10 MB的文件,并完成以下步骤: 用我最喜欢的编程语言打开它进行读/写 抹去溪流中的一切 将10 MB的随机数据写入同一个流 将更改保存到磁盘 通过正常方式删除该文件 我能否确定新的10 MB在硬盘驱动器的扇区级别成功地重写了旧的10 MB?或者“擦除流中的所有内容”步骤是否可能删除旧文件,并可能将新的10 MB写入新位置?专业人员可能仍然可以访问数据,他们知道自己在做什么,并且可以访问磁盘上的原始数据(即,无需通过文件系统) 您的程序基本上相当于Linuxshread命令,其中包

假设我有一个10 MB的文件,并完成以下步骤:

  • 用我最喜欢的编程语言打开它进行读/写
  • 抹去溪流中的一切
  • 将10 MB的随机数据写入同一个流
  • 将更改保存到磁盘
  • 通过正常方式删除该文件

  • 我能否确定新的10 MB在硬盘驱动器的扇区级别成功地重写了旧的10 MB?或者“擦除流中的所有内容”步骤是否可能删除旧文件,并可能将新的10 MB写入新位置?

    专业人员可能仍然可以访问数据,他们知道自己在做什么,并且可以访问磁盘上的原始数据(即,无需通过文件系统)

    您的程序基本上相当于Linux
    shread
    命令,其中包含以下警告:

    注意:请注意,shred依赖于一个非常重要的假设: 文件系统就地覆盖数据。这是传统的 方法,但许多现代文件系统设计不能满足这一要求 假设。下面是使用shred的文件系统的示例 无效,或不能保证在所有文件系统模式下都有效:

    • 日志结构或日志记录的文件系统,如随 AIX和Solaris(以及JFS、ReiserFS、XFS、Ext3等)

    • 写入冗余数据并在某些情况下仍能继续运行的文件系统 失败,例如基于RAID的文件系统

    • 生成快照的文件系统,如Network Appliance的NFS服务器

    • 缓存在临时位置(如NFS)的文件系统 版本3客户端

    • 压缩文件系统


    还有其他情况,例如具有磨损均衡功能的SSD。

    专业人员可能仍然可以访问数据,他们知道自己在做什么,并且可以访问磁盘上的原始数据(即,无需通过文件系统)

    您的程序基本上相当于Linux
    shread
    命令,其中包含以下警告:

    注意:请注意,shred依赖于一个非常重要的假设: 文件系统就地覆盖数据。这是传统的 方法,但许多现代文件系统设计不能满足这一要求 假设。下面是使用shred的文件系统的示例 无效,或不能保证在所有文件系统模式下都有效:

    • 日志结构或日志记录的文件系统,如随 AIX和Solaris(以及JFS、ReiserFS、XFS、Ext3等)

    • 写入冗余数据并在某些情况下仍能继续运行的文件系统 失败,例如基于RAID的文件系统

    • 生成快照的文件系统,如Network Appliance的NFS服务器

    • 缓存在临时位置(如NFS)的文件系统 版本3客户端

    • 压缩文件系统


    还有其他情况,例如具有磨损水平的SSD。

    < P>不,因为在任何现代文件系统提交都是原子的,几乎可以肯定的是,10MB没有覆盖旧的10MB,这是在我们考虑真正保证这一点的日志文件系统之前。

    < P>不,因为任何现代文件系统提交都是原子的,几乎可以肯定的是,10MB没有覆盖旧的10MB,这是在我们考虑日志文件系统实际上保证这一点之前。

    < P>简短回答:No./P> 这可能取决于您的语言和操作系统。我有一种感觉,流调用被传递到操作系统,然后操作系统决定做什么,所以我倾向于你的第二个问题是正确的,只是为了安全起见。此外,磁性伪影将在删除后出现,该伪影仍可用于恢复所述数据。即使用全零覆盖相同的扇区,也可能使数据处于褪色状态。通常,建议进行多次删除操作。有关解释或开源C#文件碎纸机的信息,请参阅

    对于Windows,您可以使用实现国防部清除和消毒标准的命令行实用程序:

    安全删除应用程序覆盖磁盘上已删除文件的数据 使用显示为使磁盘数据不可恢复的技术,甚至 使用可以读取磁性介质中图案的恢复技术 显示弱删除的文件

    特别值得注意的是:

    压缩、加密和稀疏由16个集群中的NTFS管理 阻碍。如果程序写入此类文件的现有部分NTFS 在磁盘上分配新空间以存储新数据,并在 已写入新数据,以前取消分配群集 被文件占用

    简短回答:没有

    这可能取决于您的语言和操作系统。我有一种感觉,流调用被传递到操作系统,然后操作系统决定做什么,所以我倾向于你的第二个问题是正确的,只是为了安全起见。此外,磁性伪影将在删除后出现,该伪影仍可用于恢复所述数据。即使用全零覆盖相同的扇区,也可能使数据处于褪色状态。通常,建议进行多次删除操作。有关解释或开源C#文件碎纸机的信息,请参阅

    对于Windows,您可以使用实现国防部清除和消毒标准的命令行实用程序:

    安全删除应用程序覆盖磁盘上已删除文件的数据 使用显示为使磁盘数据不可恢复的技术,甚至 使用可以读取磁性介质中图案的恢复技术 显示弱删除的文件

    特别值得注意的是:

    压缩、加密和稀疏由16个集群中的NTFS管理 阻碍。如果程序写入