命令dd中的'seek'参数 您所在的位置:网站首页 dd命令使用seek 命令dd中的'seek'参数

命令dd中的'seek'参数

2023-09-05 06:17| 来源: 网络整理| 查看: 265

dd用于将数据从输入文件复制到输出文件。手册页中的dd块大小选项如下:

ibs=expr Specify the input block size, in bytes, by expr (default is 512). obs=expr Specify the output block size, in bytes, by expr (default is 512). bs=expr Set both input and output block sizes to expr bytes, superseding ibs= and obs=.

该dd seek选项类似于UNIX lseek()系统调用1。它在文件内移动读/写指针。从手册页:

seek=n Skip n blocks (using the specified output block size) from the beginning of the output file before copying.

UNIX中的普通文件具有方便的属性,您不必从头开始读取或写入它们。您可以在任何地方寻找并从那里开始进行读写。因此,bs=4096 seek=7意味着从输出文件的开头移至7 * 4096字节的位置并从此处开始写入。它不会写入文件的0到7 * 4096字节之间的部分。

底层文件系统甚至不会分配根本不会写入的普通文件区域。这些区域称为空洞,文件称为稀疏文件。在您的示例中,file_with_holes开头将有一个7 * 4096字节的孔。(h / t @frostschutz指出dd默认情况下会截断输出文件。)

可以读取这些未分配的区域。你得到一堆零。

[1]在dd编写时,类似系统调用为seek()。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有