文件从开头删除几个字符,整个磁盘的变化

Posted shaohef

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件从开头删除几个字符,整个磁盘的变化相关的知识,希望对你有一定的参考价值。

预备文章,熟悉Ext2文件系统。看前面的blog 分析Ext2文件系统结构

问题:

 如果一个4G的文件,删除开始几个字节,底层磁盘会发生什么变化?

猜想:

在团队的分享讨论中,有人认为会有高效的方式,导致

实践:

1. 采用 linux loop设备作为虚拟磁盘。 磁盘一共1000个block,每个block大小是512。(实践上创建完成之后,发现是500个block,每个block大小是1024,总容量没有变化。)

dd if=/dev/zero of=~/file.img bs=512 count=1000
LOOFDEV=`sudo losetup --find --show ~/file.img`
mkdir file.image.loop -p
sudo mkfs -t ext2 $LOOFDEV 
sudo mount  $LOOFDEV file.image.loop

 

结论:

整个磁盘都会移动,这其实是最好的方式, 所有数据都是循序读写。

REF:

实际上,文件系统分析的文章网上一大堆。

linux命令--磁盘命令dd

第 七 、八 章 文件与磁盘空间管理

笔记:磁盘分区、文件系统、链接

Linux文件系统 及文件系统删除原理   

操作系统原理-文件系统1   

操作系统原理之文件管理   

北航 操作系统 Operation System 七:文件系统

以上是关于文件从开头删除几个字符,整个磁盘的变化的主要内容,如果未能解决你的问题,请参考以下文章

如何从文件的开头删除?

从 MATLAB 中字符串的开头和结尾删除 '''

MySQL如何删除#sql开头的临时表

比较 C# 中的字符串片段并从集合中删除项目

从硬盘驱动器中永久删除文件

XSS:如何从 C# 中的字符串中删除 JS 片段?