Linux脚本攻略学习笔记之ISO镜像和diff详解

一、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 :遍历目录下的所有文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜的中年程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值