在 Linux 係統下從 ISO 鏡像中提取和複製文件的 3 種方法
假設你的 Linux 服務器上有一個超大的 ISO 鏡像文件,你想要打開它,然後提取或者複製其中的一個文件。你會怎麼做呢?
其實在 Linux 係統裏,有很多方法來實現這個要求。
比如說,你可以使用傳統的 mount 命令以隻讀方式把 ISO 鏡像文件加載為 loop 設備,然後再把文件複製到另一個目錄。
在 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/
在 Linux 係統裏掛載 ISO 鏡像
現在你就可以進入到掛載目錄 /mnt/iso 裏,查看文件或者使用 cp 命令把文件複製到 /tmp 目錄了。
$ cd /mnt/iso
$ sudo cp md5sum.txt /tmp/
$ sudo cp -r ubuntu /tmp/
在 Linux 係統中複製 ISO 鏡像裏的文件
注意:-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
使用 7zip 工具在 Linux 係統下提取 ISO 鏡像裏的文件
注意:跟 Linux 的 mount 命令相比起來,7zip 在壓縮和解壓縮任何格式的文件時速度更快,更智能。
使用 isoinfo 命令來提取 ISO 鏡像文件內容
雖然 isoinfo
命令是用來以目錄的形式列出 iso9660 鏡像文件的內容,但是你也可以使用該程序來提取文件。
我說過,isoinfo 程序會顯示目錄列表,因此先列出 ISO 鏡像文件的內容。
$ isoinfo -i ubuntu-16.10-server-amd64.iso -l
Linux 裏列出 ISO 文件的內容
現在你可以按如下的方式從 ISO 鏡像文件中提取單文件:
$ isoinfo -i ubuntu-16.10-server-amd64.iso -x MD5SUM.TXT > MD5SUM.TXT
注意:因為 -x
解壓到標準輸出,必須使用重定向來提取指定文件。
從 ISO 鏡像文件中提取單個文件
原文發布時間為:2017-11-27
本文來自雲棲社區合作夥伴“Linux中國”
最後更新:2017-11-27 01:04:13