一、ISO
ISO镜像是一种存档格式,它存储了如CD-ROM、DVD-ROM等光盘的精确镜像。ISO镜像通
常用于存储待刻录的数据。这节,我们会看到如何使用光盘来创建ISO镜像。很多人都是依赖第
三方工具来创建ISO镜像。其实若使用命令行,会更简单。
我们同样需要区分可引导光盘与不可引导光盘之间的差别。可引导光盘自身具备引导能力,
也可以运行操作系统或其他软件。不可引导光盘则做不到这些。很重要的一点是:将可引导光盘
中的内容复制到另一张光盘上并不足以生成一张新的可引导光盘。要想保留光盘的可引导性,应
该使用ISO文件将其保存为磁盘镜像。
现在,多数人会用闪存或硬盘作为光盘的代替品。当我们将一个可引导的ISO文件写入闪存
后,它却再也没法引导了,除非我们使用一种专门设计用于闪存设备的混合ISO镜像。
1.1、 创建镜像
cat /dev/cdrom >study/iso/image.iso
1.2、 dd 创建ISO镜像
尽管cat可以奏效。但创建ISO镜像最好的方法还是使用 dd 工具
dd if=/dev/cdrom of=study/iso/image.iso
mkisofs 命令用于创建ISO文件系统。可以用 cdrecord 之类的工具将 mkisofs 的输出文件直
接刻录到CD-ROM或DVD-ROM上。我们可以将需要的所有文件放入同一个目录中,然后用
mkisofs 将整个目录的内容写入一个ISO文件
1.3、 mkisofs 创建ISO文件系统
命令用于创建ISO文件系统。可以用 cdrecord 之类的工具将 mkisofs 的输出文件直
接刻录到CD-ROM或DVD-ROM上。我们可以将需要的所有文件放入同一个目录中,然后用
mkisofs 将整个目录的内容写入一个ISO文件
mkisofs -V "Label" -o study/iso/image.iso /dev/cdrom #选项 -V 指定了ISO文件的卷标
1.4、能够启动闪存或硬盘的混合型ISO
通常无法通过将可引导的ISO文件写入USB设备来启动操作系统。但是有一种被称为“混合
ISO”的特殊ISO文件可以做到这一切
isohybrid 命令把标准ISO文件转换成混合ISO,语法如下:
isohybrid image.iso
1.4.1 cdrecord
cdrecord 命令可以用来将ISO文件刻入CD-ROM或DVD-ROM。刻录CD-ROM的方法如下:
cdrecord -v dev=/dev/cdrom study/iso/image.iso
1.4.2、-speed
speed 指定刻录速度
# cdrecord -v dev=/dev/cdrom study/iso/image.iso -speed 8
参数 8 表明其刻录速度为 8x
1.4.3、 -multi
多区段刻录需要使用 -multi 选项:
cdrecord -v dev=/dev/cdrom study/iso/image.iso -multi
二、diff
diff 命令可以生成差异文件
实例
创建一个文件version1.txt
cat >study/patch/version1.txt
this the original text
line2
line3
line4
happing hacking !
创建一个文件version2.txt
this is the original text
line2
line4
happing hacking !
GUN is not UNIX
2.1 非一体化形式的diff输出(不使用u选项)
diff version1.txt version2.txt
两个文件 输出如下:
2.2 -u
diff -u version1.txt version2.txt
以 + 起始的是新加入的行,以 - 起始的是删除的行
2.3、重定向输出重定向到一个文件
diff -u version1.txt version2.txt >patch.txt
cat patch.txt
结果输出到patch.txt文件中
2.4 patch
patch -p1 version1.txt < patch.txt
修补后,version1.txt的内容和verson2.txt的内容一模一样
2.5、撤销修补
patch -p1 version1.txt < patch.txt -R
2.6 补充
diff 命令也能够以递归的形式作用于目录。它会对目录中的所有内容生成差异输出。使用
下面的命令:
$ diff -Naur directory1 directory2
上面命令中出现的选项含义如下。
-N :将所有缺失的文件视为空文件。
-a :将所有文件视为文本文件。
-u :生成一体化输出。
-r :遍历目录下的所有文件