美文网首页
dd命令创建稀疏文件

dd命令创建稀疏文件

作者: 汤尼房 | 来源:发表于2018-06-24 09:56 被阅读119次

文章主要是对使用dd命令创建稀疏文件的实践记录。
dd命令的帮助文档中对 seek=N skip N obs-sized blocks at start of output 解释道:略过输出文件前N * obs-sized的空间,然后再向of所指定的输出中写入 count * bs 的空间的数据。

dd if=/dev/zero of=/opt/data bs=1 count=1 seek=20971520
说明:
    if=/dev/zero 指定输入为/dev/zero,即用0填充
    of=/opt/data 写入到/opt/data文件
    bs=1 表示一次读写1个字节,如果不指定单位则默认为byte
    count=1 指定bs的数量,这里为1个bs
    seek 表示在向of指定的文件写入0时,略过文件前$seek * bs大小的空间,然后再写入
    bs * $count大小的数据

实践

seek指定数量,即dd帮助文档中提到的N

示例一:

说明:
ls -k参数显示文件的字节数,这里显示20971521个字节。
计算方式为:$seek * $bs(换算到byte) + $count * $bs(换算到byte),因此这里为:20971520 * 1 + 1 * 1 = 20971521byte,通过-h参数显示则为21M,为什么通过ls显示与通过du显示的结果不同呢,这就是稀疏文件(seek略过)的作用,稀疏文件仅是分配了一定数据量的空间,而实际占用没有这么多。

示例二

说明:
字节数为:20971520 * 1 * 1024 + 20 * 1 * 1024 = 21474856960byte
mydata文件略过前面的20971520K空间,实际写入数据的大小为20K,因此du命令看到的是20K

示例三

说明:
字节数为:20971520 * 1 * 1024 = 21474836480,这里指定的count为0,表示不会向文件中写入数据,因此mydata2文件实际占用空间为0

seek指定具体的大小,比如seek=2G, seek=200M
文件字节计算方式:将seek指定的大小换算到字节(byte),此时该字节数就表示帮助文档中标识的N,接下来的计算方式同上。

示例一

说明:字节数为:10 * 1024 * 1024 * 1024 + 1 * 1 = 10737418241

示例二

说明:字节数为:2 * 1024 * 1024 * 1024 * 5 * 1024 + 20 * 5 * 1024 = 10995116380160

示例三

说明:字节数为:100 * 1024 * 1024 * 1024 * 2 * 1024 = 219902325555200,指定count为0,因此文件的实际大小为0

结语

以上则是对dd命令创建稀疏文件操作的实践记录,希望一起学习、交流。

参考

Linux "man dd"帮助文档

相关文章

  • dd命令创建稀疏文件

    文章主要是对使用dd命令创建稀疏文件的实践记录。dd命令的帮助文档中对 seek=N skip N obs-siz...

  • centos增加swap空间

    一、增加swap交换文件1、使用dd命令创建一个swap交换文件 dd if=/dev/zero of=/home...

  • Centos7使用swap文件增加虚拟内存

    1、查看原有内存情况 2、选择目录并创建内存文件 创建swap文件命令:dd if=/dev/zero of=sw...

  • Linux dd命令

    dd命令可以轻易实现创建指定大小的文件,如dd if=/dev/zero of=test bs=1M count=...

  • day22课堂笔记

    dd命令 创建一个虚拟的文件系统dd if=/dev/sda of=/dev/sdc bs=512 c...

  • centos swap 创建、删除、扩容

    创建swap分区 1.添加swap交换分区空间 使用dd命令创建swap交换分区文件/dev/mapper/swa...

  • 增加swap分区大小

    1.添加swap交换分区空间 使用dd命令创建swap交换分区文件/usr/swap/swapfile,大小为24...

  • 创建虚拟磁盘

    1.1 dd 命令简介(部分说明来自dd (Unix) wiki) dd命令用于转换和复制文件,不过它的复制不同于...

  • 3.2 生成任意大小的文件

    《Linux Shell 脚本攻略(第 2 版)》读书笔记 创建特定大小的大文件最简单的方法就是利用 dd 命令。...

  • 每天一个Linux命令之dd

    dd命令用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命...

网友评论

      本文标题:dd命令创建稀疏文件

      本文链接:https://www.haomeiwen.com/subject/hjsjyftx.html