將壓縮檔解壓縮(uncompress 及 unpack 指令)

使用 uncompressunpack 指令,將壓縮檔解壓縮。

使用 uncompress 指令將檔案解壓縮

使用 uncompress 指令來還原由 compress 指令所壓縮的原始檔案。由 File 變數所指定的壓縮檔,將被移除並置換為展開後的副本。解壓縮後的檔案名稱與壓縮過的版本名稱相同, 但沒有 .Z 的副檔名。展開後的檔案仍保留原始檔案相同的所有權、模式與存取權,以及修改時間。若未指定檔案,標準輸入將展開至標準輸出。

雖然和 uncompress 指令很像, 但 zcat 指令一定會將展開後的輸出寫入至標準輸出。

例如,若要解壓縮 foo 檔案,請鍵入:
uncompress foo

請參閱 Commands Reference, Volume 5 中的 uncompress 指令,以取得完整語法。

使用 unpack 指令將檔案解壓縮

使用 unpack 指令,將由 pack 指令所建立的檔案解壓縮。unpack 指令會針對每一個指定的檔案,搜尋一個名稱為 File.z 的檔案。如果這個檔案是壓縮過的檔案, unpack 指令會以其解壓縮後的版本來置換該檔案。unpack 指令會移除 File.z 字尾,來重新命名新檔案。新檔案具有與原始壓縮檔案相同的存取模式、存取與修改日 期,以及擁有者。

unpack 指令只能用在以 .z 結尾的檔案。因此,當您指定的檔名結尾不是 .z 時,unpack 指令便會加上字尾,並在目錄中搜尋具有該字尾的檔名。

結束值為 unpack 指令無法解壓縮的檔案數目。如果發生下列任何狀況,便無法將檔案解壓縮:

  • 檔名(.z 除外)具有 253 個以上的位元組。
  • 檔案無法開啟。
  • 檔案不是壓縮檔。
  • 解出來之檔案的檔名已存在。
  • 無法建立解壓縮的檔案。
    註: 如果要解壓縮的檔案具有鏈結,則 unpack 指令會在標準錯誤中寫入警告。新解出來之檔案的 i-node(索引節點)與其建立所在的壓縮檔不同。然而,任何其他鏈結至壓縮檔案的原始 inode 號碼檔案,仍存在且會被壓縮。
例如,若要解壓縮壓縮檔 chap1.zchap2.z,請鍵入:
unpack chap1.z chap2
如此會展開壓縮檔 chap1.zchap2.z,並將其置換成檔案 chap1chap2
註: 使用 unpack 指令時,檔名加不加 .z 字尾都可以。

請參閱 Commands Reference, Volume 5 中的 unpack 指令,以取得完整語法。