假设您在Linux服务器上有一个大的ISO文件,并且想要访问、提取或复制其中的一个单个文件。您该如何操作呢?在Linux中有几种方法可以实现。
阅读更多:在Linux中创建用于从ISO创建可启动USB的Bash脚本
例如,您可以使用标准的mount命令以只读模式挂载ISO镜像,然后将文件复制到另一个目录中。
在Linux中挂载或提取ISO文件
为此,您需要一个ISO文件(我使用了ubuntu-16.10-server-amd64.iso ISO镜像)和一个挂载点目录来挂载或提取ISO文件。
首先创建一个挂载点目录,您将在其中挂载镜像,如下所示:
$ sudo mkdir /mnt/iso
一旦目录创建完成,您可以轻松地挂载ubuntu-16.10-server-amd64.iso文件,并通过运行以下命令验证其内容。
$ sudo mount -o loop ubuntu-16.10-server-amd64.iso /mnt/iso $ ls /mnt/iso/

现在您可以进入挂载的目录(/mnt/iso)并访问文件或使用cp命令将文件复制到/tmp
目录中。
$ cd /mnt/iso $ sudo cp md5sum.txt /tmp/ $ sudo cp -r ubuntu /tmp/

注意:使用-r
选项递归复制目录,如果你想要的话也可以监视复制命令的进度。
使用7zip命令提取ISO内容
如果你不想挂载ISO文件,你可以简单安装7zip,这是一个用于打包或解包各种格式如TAR、XZ、GZIP、ZIP、BZIP2等的开源归档程序。
$ sudo apt-get install p7zip-full p7zip-rar [On Debian/Ubuntu systems] $ sudo yum install p7zip p7zip-plugins [On CentOS/RHEL systems]
一旦安装了7zip程序,你可以使用7z命令来提取ISO文件内容。
$ 7z x ubuntu-16.10-server-amd64.iso

注意:与Linux的mount命令相比,7zip似乎更快速聪明地打包或解包任何存档格式。
使用isoinfo命令提取ISO内容
isoinfo命令用于ISO9660镜像的目录列表,但你也可以使用该程序来提取文件。
就像我说的,isoinfo程序执行目录列表,所以首先列出ISO文件的内容。
$ isoinfo -i ubuntu-16.10-server-amd64.iso -l

现在你可以像这样从ISO镜像中提取单个文件:
$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT
注意:需要重定向,因为-x
选项将提取到标准输出。

嗯,有很多方法,如果你知道任何有用的命令或程序用来从ISO文件中提取或复制文件,请
Source:
https://www.tecmint.com/extract-files-from-iso-files-linux/