zoukankan      html  css  js  c++  java
  • makefile中ifeq与ifneq dev/null和dev/zero简介 dd命令

    ifeq语法是ifeq "<arg1>;" "<arg2>;"  ,功能是比较参数“arg1”和“arg2”的值是否相同,相同时为1

    ifneq: ifneq "<arg1>;" "<arg2>;"  其比较参数“arg1”和“arg2”的值是否相同,如果不同,则为真。

    /dev/null:或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。(可以理解为黑洞或者位桶)。。。空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。

     cat $filename >/dev/null

    使用  cat $filename 1>/dev/null 也会得到同样的效果,因为默认重定向的 1 就是标准输出。  如果你对 shell 脚本或者重定向比较熟悉的话,应该会联想到 2 ,也即标准错误输出。

    有时候需要删除一些文件的内容而不删除文件本身:

    cat /dev/null > /var/log/messages

    /dev/zero:当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00)。一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件.

    dd if=/dev/zero of=/dev/sdb bs=4M
    dd if=/dev/zero of=$FILE bs=$BLOCKSIZE count=$blocks # 把零写入文件. 

    dd命令详解:

    dd 的主要选项:

    指定数字的地方若以下列字符结尾乘以相应的数字:

    b=512, c=1, k=1024, w=2, xm=number m

    if=file #输入文件名,缺省为标准输入。 
    of=file #输出文件名,缺省为标准输出。 
    ibs=bytes #一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。 
    obs=bytes #一次写 bytes 个字节(即一个块大小为 bytes 个字节)。 
    bs=bytes #同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。 
    cbs=bytes #一次转换 bytes 个字节,即转换缓冲区大小。 
    skip=blocks #从输入文件开头跳过 blocks 个块后再开始复制。 
    seek=blocks #从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。 
    count=blocks #仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。 
    conv=conversion[,conversion...] #用指定的参数转换文件。

    eg:

    备份:
    dd if=/dev/hdx of=/dev/hdy #将本地的/dev/hdx整盘备份到/dev/hdy 
    
    恢复:
    dd if=/path/to/image of=/dev/hdx #将备份文件恢复到指定盘 

    备份: dd if=/dev/hdx of=/path/to/image count=1 bs=512 
    备份磁盘开始的512Byte大小的MBR信息到指定文件
  • 相关阅读:
    jQuery EasyUI介绍
    CodeMirror:基于JavaScript的代码编辑器
    概述:分布式文件系统+分布式存储+分布式处理
    HTML学习笔记——标准网页设计+使用CSS、Javascript
    HTML学习笔记——常用元素及其属性(二)
    HTML学习笔记——常用元素及其属性(一)
    Remmarguts' Date(k短路问题)
    K短路问题模板(spfa+A*)
    树状数组求逆序对模板
    桐桐的糖果计划(tarjan求桥+双连通分量)
  • 原文地址:https://www.cnblogs.com/Caden-liu8888/p/8310509.html
Copyright © 2011-2022 走看看