相关疑难解决方法(0)

如何显示稀疏文件的非稀疏部分?

想象一个用以下方式创建的文件:

truncate -s1T file
echo test >> file
truncate -s2T file
Run Code Online (Sandbox Code Playgroud)

我现在有一个 2 tebibyte 的文件(在磁盘上占用 4kiB), "test\n"写在中间。

我将如何"test"有效地恢复它,即无需读取整个文件。

tr -d '\0' < file
Run Code Online (Sandbox Code Playgroud)

会给我结果,但这需要几个小时。

我想要的是只输出文件的非稀疏部分的东西(所以只在上面 "test\n"或更可能的是,在磁盘上分配的 4kiB 块存储该数据)。

有API可以找出文件的哪一部分被分配(FIBMAP、FIEMAP、SEEK_HOLE、SEEK_DATA...),但是哪些工具可以公开这些?

一个可移植的解决方案(至少对于支持这些 API 的操作系统)将不胜感激。

text-processing sparse-files

8
推荐指数
1
解决办法
302
查看次数

标签 统计

sparse-files ×1

text-processing ×1