一、dd 命令详解:
官方解释: convert and copy a file ---转换并复制文件
dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
语法:
dd [OPERAND]...
dd OPTION
参数:
if=FILE read from FILE instead of stdin
源文件,用于指定数据流来源
of=FILE write to FILE instead of stdout
目标文件,用于指定数据流存储目标
bs=BYTES read and write BYTES bytes at a time (also see ibs=,obs=)
一次io的数据量
count=N copy only N input blocks
复制多少个bs指定的block
格式:
dd if= of= bs= count=
两个特殊设备文件
/dev/null: bit bucket 号称数据黑洞,你可以向他输入任何信息,而不会有任何输出
/dev/zero: 是一个输入设备,你可用它来初始化文件;该设备可以无穷尽的提供0字符串,该设备可用于向文件或设备写入字符串0;
eg:创建一个大小为64M的文件
<code>[root@1inux tmp]# </code><code>mkdir</code> <code>zero</code>
<code>[root@1inux tmp]# cd zero</code>
<code>[root@1inux zero]# ls -l</code>
<code>total 0</code>
<code>[root@1inux zero]# dd </code><code>if</code><code>=/dev/zero of=/tmp/zero/file bs=1M </code><code>count</code><code>=64</code>
<code>64+0 records in</code>
<code>64+0 records out</code>
<code>67108864 bytes (67 MB) copied, 0.434439 s, 154 MB/s</code>
<code>[root@1inux zero]# ls -lh</code>
<code>total 64M</code>
<code>-rw-r--r-- 1 root root 64M Apr 1 16:42 file</code>
应用实例:
应用1:创建本地回环设备文件:
<code>dd </code><code>if</code><code>=/dev/zero of=/PATH/TO/SOMEFILE bs= </code><code>count</code><code>=</code>
应用2:备份磁盘开始的512个字节大小的MBR信息到指定文件:
<code>dd </code><code>if</code><code>=/dev/sda of=/backup/mbr.backup bs=512 </code><code>count</code><code>=1</code>
恢复MBR
<code>dd </code><code>if</code><code>=/backup/mbr.backup of=/dev/sda</code>
应用3:破坏其MBR (瞬间破坏其分区表,极度具有破坏性)
<code>dd </code><code>if</code><code>=/dev/zero of=/dev/sda bs=512 </code><code>count</code><code>=1</code>
应用4、销毁磁盘数据
<code>[root@1inux zero]# dd </code><code>if</code><code>=/dev/urandom of=/dev/sdb</code>
二、文本比较、补丁制作及打补丁工具----diff,patch
diff 命令
diff命令 是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方
命令格式:
diff[参数][文件1或目录1][文件2或目录2]
Linux补丁制作
diff [-u] FILE.old FILE.new >FILE.patch
patch FILE.old <FILE.patch
<code>eg:</code>
<code>[root@1inux ~]# diff functions functions.1 </code>
<code>4a5</code>
<code>> #Author: [email protected]</code>
<code>[root@1inux ~]# diff -u functions functions.1 > functions.patch </code><code>//制作补丁</code>
<code>[root@1inux ~]# patch functions <functions.patch </code><code>//打补丁</code>
<code>[root@1inux ~]# head -5 functions</code>
<code># -*-Shell-script-*-</code>
<code>#</code>
<code># functionsThis file contains functions to be used by most </code><code>or</code> <code>all</code>
<code>#shell scripts in the /etc/init.d directory.</code>
<code>#Author: [email protected]</code>
本文转自 1inux 51CTO博客,原文链接:http://blog.51cto.com/1inux/1629382