Linux cdrecord命令介绍
cdrecord是一个用于刻录CD/DVD/Blu-ray光盘的Linux命令,它支持多种光盘格式和写入模式,可以在命令行中灵活地控制刻录过程。cdrecord的全称是Compact Disc Recordable,意思是可记录的光盘。cdrecord是一个开源的软件,由Joerg Schilling开发,最初发布于1995年,目前的最新版本是3.02a09,于2021年9月发布。
Linux cdrecord命令适用的Linux版本
cdrecord命令可以在多数Linux发行版中使用,但是需要安装cdrtools软件包,该软件包包含了cdrecord和其他一些与光盘刻录相关的工具,如mkisofs、readcd、cdda2wav等。不同的Linux发行版可能有不同的安装方法,以下是一些常见的Linux发行版的安装命令:
- Ubuntu/Debian:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install cdrtools
- CentOS/RHEL/Fedora:
[linux@bashcommandnotfound.cn ~]$ sudo yum install cdrtools
- Arch Linux:
[linux@bashcommandnotfound.cn ~]$ sudo pacman -S cdrtools
- openSUSE:
[linux@bashcommandnotfound.cn ~]$ sudo zypper install cdrtools
如果你的Linux发行版没有提供cdrtools软件包,你也可以从官网下载源码并自行编译安装。
Linux cdrecord命令的基本语法
cdrecord命令的基本语法格式如下:
cdrecord [选项] [参数] [文件]
其中,选项是用来控制刻录过程的一些设置,参数是用来指定刻录设备和刻录模式的,文件是要刻录的数据文件或镜像文件。选项和参数可以有多个,文件可以有一个或多个,但是必须放在最后。
Linux cdrecord命令的常用选项或参数说明
cdrecord命令有很多选项和参数,可以通过man cdrecord
或cdrecord --help
查看完整的列表和说明。这里我们只介绍一些最常用的选项和参数,以及它们的含义和用法。
选项/参数 | 含义 | 用法 |
---|---|---|
-v | 显示刻录过程的详细信息 | cdrecord -v ... |
-eject | 刻录完成后弹出光盘 | cdrecord -eject ... |
-speed | 设置刻录速度,单位为倍数 | cdrecord -speed=4 ... |
-dao | 设置刻录模式为DAO(Disc-At-Once),即一次性刻录整张光盘,不留间隙 | cdrecord -dao ... |
-tao | 设置刻录模式为TAO(Track-At-Once),即每次刻录一个轨道,每个轨道之间有间隙 | cdrecord -tao ... |
-sao | 设置刻录模式为SAO(Session-At-Once),即每次刻录一个会话,每个会话之间有间隙 | cdrecord -sao ... |
-multi | 设置刻录模式为多次刻录,即允许在同一张光盘上多次刻录数据,直到光盘满 | cdrecord -multi ... |
-audio | 设置刻录模式为音频刻录,即将数据文件作为音频轨道刻录,适用于刻录音乐CD | cdrecord -audio ... |
-data | 设置刻录模式为数据刻录,即将数据文件作为数据轨道刻录,适用于刻录数据CD | cdrecord -data ... |
dev | 指定刻录设备的名称或编号,可以用cdrecord --scanbus 查看可用的刻录设备 | cdrecord dev=/dev/cdrom ... 或 cdrecord dev=0,0,0 ... |
gracetime | 指定刻录前等待的时间,单位为秒,用于给刻录设备预热或检测光盘 | cdrecord gracetime=2 ... |
fs | 指定刻录时使用的FIFO缓冲区的大小,单位为字节,用于提高刻录效率和稳定性 | cdrecord fs=16m ... |
Linux cdrecord命令的实例
以下是一些使用cdrecord命令的常见实例,以及它们的效果和解释。
实例1:刻录ISO镜像文件到CD/DVD/Blu-ray光盘
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 dev=/dev/cdrom ubuntu-20.04.3-desktop-amd64.iso
这个命令的效果是将ubuntu-20.04.3-desktop-amd64.iso文件刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。
实例2:刻录多个数据文件到CD/DVD/Blu-ray光盘
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -data dev=/dev/cdrom file1.txt file2.jpg file3.pdf
这个命令的效果是将file1.txt、file2.jpg和file3.pdf三个数据文件刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。刻录模式为数据刻录,即将数据文件作为数据轨道刻录。
实例3:刻录多个音频文件到CD/DVD/Blu-ray光盘
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -audio dev=/dev/cdrom song1.wav song2.mp3 song3.flac
这个命令的效果是将song1.wav、song2.mp3和song3.flac三个音频文件刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。刻录模式为音频刻录,即将音频文件作为音频轨道刻录,适用于刻录音乐CD。
实例4:刻录多个数据文件到CD/DVD/Blu-ray光盘,使用多次刻录模式
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -multi -data dev=/dev/cdrom file1.txt file2.jpg file3.pdf
这个命令的效果是将file1.txt、file2.jpg和file3.pdf三个数据文件刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。
我们可以在同一张光盘上继续刻录其他的数据文件,只要光盘还有空间。例如,我们可以用下面的命令刻录file4.doc和file5.xls两个文件:
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -multi -data dev=/dev/cdrom file4.doc file5.xls
这个命令的效果是将file4.doc和file5.xls两个数据文件刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。刻录模式为多次刻录,即允许在同一张光盘上多次刻录数据,直到光盘满。注意,这个命令不会覆盖之前刻录的数据文件,而是在光盘上创建一个新的会话,每个会话都有自己的目录结构。这样,我们可以在一张光盘上存储多个不同的数据集,但是也要注意,这样会占用一些额外的空间,因为每个会话都需要一些元数据。如果我们想要关闭光盘,即不再允许刻录更多的数据,我们可以在最后一次刻录时去掉-multi选项,例如:
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -data dev=/dev/cdrom file6.zip
这个命令的效果是将file6.zip文件刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。刻录模式为数据刻录,即将数据文件作为数据轨道刻录。由于没有使用-multi选项,这个命令会关闭光盘,即不再允许刻录更多的数据。这样,我们就完成了一张多次刻录的光盘,它包含了6个数据文件,分别属于3个不同的会话。我们可以在任何支持多次刻录的光盘驱动器中读取这张光盘,查看它的内容。
实例5:刻录一个混合模式的光盘,包含数据和音频
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -data dev=/dev/cdrom file1.iso -audio file2.wav file3.mp3
这个命令的效果是将file1.iso文件作为数据轨道,file2.wav和file3.mp3文件作为音频轨道,刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。刻录模式为混合模式,即将数据和音频混合在一张光盘上,适用于刻录一些带有音频的软件或游戏。
实例6:刻录一个CD-Extra光盘,包含数据和音频
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -sao dev=/dev/cdrom file1.iso -audio file2.wav file3.mp3
这个命令的效果是将file1.iso文件作为第一个会话的数据轨道,file2.wav和file3.mp3文件作为第二个会话的音频轨道,刻录到/dev/cdrom设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。刻录模式为SAO(Session-At-Once),即每次刻录一个会话,每个会话之间有间隙。这样刻录的光盘称为CD-Extra,它可以在数据和音频之间切换,适用于刻录一些带有音频的增强型CD。
实例7:刻录一个DVD-Video光盘,包含视频和音频
[linux@bashcommandnotfound.cn ~]$ cdrecord -v -eject -speed=4 -dao dev=/dev/dvd movie.iso
这个命令的效果是将movie.iso文件刻录到/dev/dvd设备对应的光盘上,刻录速度为4倍,刻录完成后弹出光盘,同时显示刻录过程的详细信息。刻录模式为DAO(Disc-At-Once),即一次性刻录整张光盘,不留间隙。movie.iso文件是一个DVD-Video格式的镜像文件,它包含了视频和音频的数据,适用于刻录一些电影或视频节目。
Linux cdrecord命令的注意事项
在使用cdrecord命令刻录光盘时,有一些注意事项需要遵守,以保证刻录的质量和安全性,以下是一些常见的注意事项:
- 在刻录前,最好先检查一下光盘的容量和类型,是否符合刻录的要求,避免浪费光盘或刻录失败。可以用
cdrecord -media-info dev=/dev/cdrom
查看光盘的信息,如容量、类型、状态等。 - 在刻录前,最好先用
cdrecord -dummy ...
进行一次模拟刻录,检查一下刻录的参数和文件是否正确,避免刻录错误或损坏光盘。模拟刻录不会真的写入数据,只会模拟刻录过程,不会消耗光盘的空间。 - 在刻录时,最好不要进行其他的磁盘或网络操作,避免影响刻录的速度和稳定性,造成刻录中断或出错。如果可能,最好关闭其他的程序和服务,只保留刻录所需的最小系统资源。
- 在刻录时,最好使用合适的刻录速度,不要过高或过低,避免刻录质量不佳或刻录时间过长。一般来说,刻录速度应该根据光盘和刻录机的性能来选择,不要超过它们的最大支持速度。可以用
cdrecord -prcap dev=/dev/cdrom
查看刻录机的性能,如支持的刻录速度、刻录模式等。 - 在刻录后,最好用
cdrecord -toc dev=/dev/cdrom
查看一下光盘的目录,检查一下刻录的结果是否正确,是否有遗漏或错误。如果有必要,还可以用cdrecord -verify ...
进行一次校验,比较一下光盘和文件的数据是否一致。
评论区