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` 为期望插入的位置(以块计)。
  • 相关阅读:
    LeetCode234回文链表
    LeetCode445两数相加II
    LeetCode24两两交换链表中的节点
    LeetCode19删除链表的倒数第N个节点
    LeetCode513找树左下角的值
    LeetCode637二叉树的层平均值
    LeetCode671二叉树中第二小的节点
    LeetCode337打家劫舍III
    LeetCode124二叉树中的最大路径和
    LeetCode687最长同值路径
  • 原文地址:https://www.cnblogs.com/wyzersblog/p/12969743.html
Copyright © 2011-2022 走看看