假設你的 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 映像檔中提取單一檔案
就到這裡吧,其實還有很多方法可以實現這個要求,如果你還知道其它有用的命令或工具來提取複製出ISO 鏡像文件中的文件,請在下面的評論中跟大家分享下。
以上是從 ISO 鏡像擷取並複製檔案的絕招(Linux)的詳細內容。更多資訊請關注PHP中文網其他相關文章!