zoukankan      html  css  js  c++  java
  • Linux dd笔记

    dd命令能够转换和拷贝文件。能方便地实现对文件较底层的操作的操作。

    命令行选项

    bs=BYTES:制定每次读写操作块的单位,默认512字节。会覆盖ibs和obs的值。

    ibs=BYTESobs=BYTES:ibs指定读操作单位,obs指定写操作单位

    count=N:进行操作的块的数量,不指定会读完整个文件。

    if=FILE:从指定文件读入,默认stdin

    of=FILE:从指定文件写入,默认stdout

    部分特殊的路径:
    /dev/zero:无限0源,从该文件可以读入任意数量的0。在windows版本的dd中,/dev/zero作为dd的一部分被实现。
    /dev/null:黑洞,能接收任意数量的数据。在windows中,任意目录下的nul文件有类似的功能。

    conv=CONVS:设置转换选项。多个选项使用逗号分隔开。

    nocreat:不要创建输出文件
    notrunc:不要截断输出文件
    noerror:忽略错误并继续

    iflag=FLAGS:输入标志设置。多个选项使用逗号分隔开。

    oflag=FLAGS:输出标志设置。多个选项使用逗号分隔开。

    append:添加到文件末尾。与notrunc连用防止之前的数据被清零。

    seek=N:跳过从输出文件开头算起,N块obs大小的数据。

    skip=N:跳过从输入文件开头算起,N块ibs大小的数据。

    输出信息

    一般完成后可以看到x+y records in(x,y显示为常数)。表示读(写)操作完整执行了x个block,还有y个block没达到bs大小。

    一些应用

    1). 复制文件

    dd if=src of=dest
    

    这里src大小不需要是bs的整数倍也能够正确的复制。

    2). 显示文件大小

    dd if=src of=/dev/null
    

    3). 创建文件

    dd bs=BYTES count=N if=/dev/zero of=dest
    

    4). 在末尾添加字节

    dd bs=BYTES count=N conv=notrunc oflags=append if=/dev/zero of=dest
    

    5). 让一个文件覆盖另一文件中的某个部分

    dd bs=BYTES count=N conv=notrunc seek=X of=src if=dest
    '''
    其中,`X` 为期望插入的位置(以块计)。
  • 相关阅读:
    22天学习java基础笔记之day08
    22天学习java基础笔记之day07
    22天学习java基础笔记之day06
    22天学习java基础笔记之day05
    架构师_设计模式_行为型_迭代器
    架构师_设计模式_行为型_命令模式
    架构师_设计模式_行为型_责任链模式
    架构师_设计模式_行为型_模板方法
    架构师_设计模式_结构型_装饰器模式
    架构师_设计模式_结构型_桥接模式
  • 原文地址:https://www.cnblogs.com/wyzersblog/p/12969743.html
Copyright © 2011-2022 走看看