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信息到指定文件

 

转载于:https://www.cnblogs.com/Caden-liu8888/p/8310509.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值