我想在硬盘上创建一个写入文件的地图。它应该输出类似于目录树的内容,并为每个文件输出组成整个文件的扇区列表([10-20],[80-90],[60-70])。例如,创建像旧学校Windows磁盘碎片整理程序的可视化:
有没有可用的工具?
“显示它所占用的扇区”......为了创建我的可视化,假设我有一个占用扇区但不占用整个扇区的文件(例如,跨两个4096字节扇区写入的8114字节文件); 假设第一个扇区被完全占用,第二个扇区占用了第一个扇区(8114 - 4096),第二个扇区的剩余(4096 * 2-8114)个字节是“垃圾”,而不是其他一些档案?
—
斯科特
是的,我认为情况就是这样。我在80年代学习了归档系统,当时操作系统是Unix,而不是Linux。我记得,为了节省浪费的空间,小文件的一个选项是将几个打包到一个物理扇区,虽然我现在不记得是什么构成一个小文件(可能高达128或256字节),但他们没有' t将多扇区文件的可用空间用于小文件。我不知道现代的extN文件系统是否使用了类似的结构,但如果它们在Linux中丢失了,那将是一个遗憾。大文件再次具有不同的结构,即使在80年代也允许TB文件!
—
AFH
您在评论中使用的语言帮助我搜索!以下是我的评论问题的答案: stackoverflow.com/questions/30133149 / ...
—
Scott
有趣的链接。回到你原来的问题,我读过的大部分内容都表明碎片在extN文件系统上通常不是问题,尽管我的测试发现奇数文件包含数千个碎片。我所做的是编写一个脚本,找到每个文件,计算每个文件中的片段数,然后按片段计数顺序排序到报告中:使其大小可管理,省略所有未分段的文件。如果这看起来像是一个解决方案,我会在答案中提交脚本,因为它对于评论来说太复杂了。
—
AFH

Disk Usage Analyser(baobab)。这不会显示碎片,但对于单个文件(而不是目录),您可以使用本答案中描述的工具之一显示它占用的扇区。我不知道GUI工具。