命令dd中的'seek'参数 | 您所在的位置:网站首页 › dd命令使用seek › 命令dd中的'seek'参数 |
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 实验室设备网 版权所有 |