Linux 特殊命令--dd 及Linux补丁制作

一、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的文件

[root@1inux tmp]# mkdir zero
[root@1inux tmp]# cd zero
[root@1inux zero]# ls -l
total 0
[root@1inux zero]# dd if=/dev/zero of=/tmp/zero/file bs=1M count=64
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 0.434439 s, 154 MB/s
[root@1inux zero]# ls -lh
total 64M
-rw-r--r-- 1 root root 64M Apr  1 16:42 file

应用实例:

        应用1:创建本地回环设备文件:

dd if=/dev/zero of=/PATH/TO/SOMEFILE bs= count=

        应用2:备份磁盘开始的512个字节大小的MBR信息到指定文件:

dd if=/dev/sda of=/backup/mbr.backup bs=512 count=1

恢复MBR

dd if=/backup/mbr.backup of=/dev/sda


        应用3:破坏其MBR (瞬间破坏其分区表,极度具有破坏性)

dd if=/dev/zero of=/dev/sda bs=512 count=1

        应用4、销毁磁盘数据

[root@1inux zero]# dd if=/dev/urandom of=/dev/sdb


二、文本比较、补丁制作及打补丁工具----diff,patch 

diff 命令

               diff命令 是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方

    命令格式:

            diff[参数][文件1或目录1][文件2或目录2]


Linux补丁制作

        diff [-u] FILE.old FILE.new >FILE.patch

        patch FILE.old <FILE.patch

eg:
[root@1inux ~]# diff functions functions.1 
4a5
> #Author: [email protected]
[root@1inux ~]# diff -u functions functions.1 > functions.patch //制作补丁
[root@1inux ~]# patch functions <functions.patch  //打补丁
[root@1inux ~]# head -5 functions
# -*-Shell-script-*-
#
# functionsThis file contains functions to be used by most or all
#shell scripts in the /etc/init.d directory.
#Author: [email protected]




本文出自 “无常” 博客,请务必保留此出处http://1inux.blog.51cto.com/10037358/1629382

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。