歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Linux 文件壓縮工具指南

  作者:Jacek Artymiak    一些免費和實用工具的評價     要使用本指南,請閱讀作者的介紹,然後使用索引跳至指南中解釋您所需工具的那一節。如果願意,也可以閱讀所有內容!我們在每一節的後面提供了參考資料的鏈接,並在本指南的結尾處提供了一個主要列表。        文件的壓縮和解壓縮是計算歷史上最有用的創造之一,但缺乏可移植性和開放工具是阻礙它發揮其應有作用的最主要的一個障礙。只要我們是與其他使用類似 Unix 操作系統的用戶交換文件,就可以使用例如 compress、gzip 和 bzip2 這樣的可移植工具(如需鏈接,請參閱參考資料)。但世界上其他人使用的是各種各樣的專用軟件 -- 甚至專用壓縮算法 -- 擁有者可能永遠也不會將它們公之於眾。    這種事態發展下去會很危險。想象一下,將來我們可能無法對檔案的重要部分譯碼,原因是我們創建它們時使用的是專用工具和算法,而那些工具運行所在的操作系統和硬件已逐漸過時,消失不見。這就是為什麼我們應該使用開放源碼壓縮工具,或者至少使用免費和有完善記載算法的商業壓縮工具的原因。(只是要記住避免使用任何特殊的增強。)    本文是有關在 Linux 操作系統上使用 .arc、.arj、.lzh (.lha)、.rar、.sit、.zip 和 .zoo 文件的指南。我選擇討論這些特殊的格式是因為三種最流行的操作系統 (MS-DOS、微軟 Windows 和 Mac OS)的用戶最常使用它們。我之所以寫這篇指南是希望引導大家快速找出正確的工具,而不是詳細地從技術上討論文件壓縮技術。    最後,我想簡短說明一下自抽取文件。這樣的檔案往往位於包含壓縮格式數據的現實程序中。執行它們時,它們會解包,並將存儲在程序主體內的數據復制到您指定的任何驅動器上。唯一的問題是它們無法在 Linux 上使用,沒有工具可以抽取它們。在這種情況下,需要讓創建檔案的那個人將它作為一個一般檔案壓縮。    目前先說到這裡。我希望這個指南能對您有所幫助,並期待著您的意見和建議。    索引      .arc   .arj   .lzh (.lha)   .rar   .sit   .zip   .zoo       --------------------------------------------------------------------------------    .arc  帶有 .arc 擴展名的文件相對來說比較少見。如果您偶然碰到一個,基本上可以認定它是使用舊的 MS-DOS SAE ARC 或 PKware PKARC 歸檔實用程序創建的。這種形式在 Linux 上的支持性不是太好,並很難指望在 Linux 機器上對這些文件解壓縮。如果需要創建 .arc 文件,嘗試在 DOSEMU 或 VMware 下運行原始 SAE ARC 或 PKware PKARC(在攜帶 MS-DOS 實用程序的 FTP 服務器上查找它們)。    要解壓縮 .arc 文件,使用 Aladdin EXPander for Linux。寫這篇文章的時候,Aladdin Expander 可以為公眾 Beta 測試目的免費獲得;它是否繼續免費還是個未知問題。    要解壓縮 .arc 文件,輸入 unstuff file.arc。-d 是個有用的選項,指定解壓縮文件的目標位置。例如:unstuff -d=./home/james/incoming file.arc。    注:要了解更多有關 Aladdin Expander for Linux 的詳細信息,請閱讀有關 .sit 文件的那一節。    VMware:http://www.vmware.com    DOSEMU:http://www.dosemu.org    Aladdin 系統: http://www.aladdinsys.com/expander/expander_linux_login.Html    返回到索引       --------------------------------------------------------------------------------    .arj  帶有 .arj 擴展名的文件是使用 ARJ Software 用於 MS-DOS 和 Windows 的 ARJ 實用程序創建的。因為 ARJ 是一種不能免費獲得源代碼的共享件程序,所以在 Linux 平台上幾乎不存在與其功能匹配的工具,這使得 .arj 文件使用起來相當困難。    對於 ARJ 文件,只要能成功地解壓縮就已經夠幸運的了。不可能在 Linux 上進行 .arj 形式的壓縮,因為沒有用於 Linux 的、生成這種文件的本機壓縮工具。(可以嘗試在 DOSEMU 或 VMware 下運行原始 ARJ 軟件,但這根本算不上是一種易於使用的解決方案)。    要解壓縮 .arj 文件,使用 unarj 實用程序。它比 ARJ 慢,能力也不如 ARJ,但至少它能夠順利地抽取大多數 .arj 文件。它只能將文件抽取到當前的工作目錄、列出檔案內容,或者測試檔案。    要查看簡短的幫助頁面,輸入 unarj;如需較詳細的描述,請參閱 unarj.doc 文件,通常它位於 /usr/doc/unarj-2.43 目錄中。    盡管在哪裡解壓縮 .arj 文件是由您來選擇的,但為避免把主工作目錄混淆,通常應該在主目錄中創建一個臨時子目錄,將當前工作目錄更改到新目錄,將壓縮的文件移到新目錄中,然後使用 unarj e archive.arj 來解壓縮有問題的文件。    用於 Linux 的 unarj 只能一次抽取所有文件;不能從檔案中抽取個別文件。至少如果文件已存在於當前的工作目錄中,即使在檔案中找到具有相同名稱的文件,您也不會覆蓋其內容。另外, unarj 不支持空目錄或自抽取檔案;後者是 MS-DOS/Windows 程序,它們無法在 Linux 上運行,但可以在 DOSEMU 或 VMware 下運行。    以下是其它一些 unarj 選項:    unarj archive.arj 或 unarj l archive.arj -- 列出檔案內容   unarj t archive.arj -- 測試檔案   unarj x archive.arj -- 帶路徑名抽取文件         請注意,unarj 選項不是以減號 (-) 開頭的。    如果 unarj 解壓縮文件失敗,嘗試使用 Aladdin Expander for Linux(有關詳細信息,請參閱有關 .sit 的那一節)。您還可以讓創建檔案的人使用其它工具(例如可用於 MS-DOS 的免費 gzip)來壓縮它。您可能還需要一個 simple.arj 檔案,在其中要避免使用所有高級 ARJ 選項,例如卷、將檔案分成幾個小部分、以及自抽取。    為什麼不使用自抽取 ARJ 檔案呢?這些是不能在 Linux 下運行的 MS-DOS 樣式的可執行文件;它們使用不同的系統庫,它們的內部格式也與 Linux 所需的二進制可執行文件的格式不同。可能可以在 DOSEMU 或 VMware 下運行自抽取 ARJ 檔案。    以 ARJ 或 JAR 形式進行的壓縮仍然不能在 Linux 上使用,按照 ARJ Software 的 FAQ 頁面的說法,我們不應該等待 Linux 移植。如果您知道有任何 Linux 工具可以解壓縮 .jar 文件,請務必告訴我。    可以從 ARJ Software 的站點或攜帶您所需 Linux 發行版的 FTP 服務器上下載 unarj 源碼。另外,unarj 通常是基本 Linux 發行版的一部分,因此可以在主要分發 CD-ROM 上找到它。如需到所有 Linux 發行版的鏈接的列表,請參閱 Linux 發行版頁面。    ARJ 軟件:http://www.arjsoft.com    ARJ 的 FAQ 頁面:http://www.arjsoft.com/faq.htm    ARJ 的下載頁面:http://www.arjsoft.com/files.htm    DOSEMU:http://www.dosemu.org    VMware:http://www.vmware.com    Aladdin Expander: http://www.aladdinsys.com/expander/expander_linux_login.html    gzip:http://www.gnu.org/software/gzip/gzip.html    Linux 發行版頁面:http://www.linux.org/dist/index.html    返回到索引       --------------------------------------------------------------------------------    .lzh (.lha)  帶有 .lzh 或 .lha 擴展名的文件使用的是 LHa、LHarc 或 LHx 壓縮實用程序進行的壓縮。這些實用程序是由 Y. Tagawa、H. Yoshizaki、Momozou 和 Masaru Oki 開發的。這些實用程序已移植到許多操作系統,使用它們所創建的文件也具有相當的可移植性。Mats Andersson 執行了 Linux 移植。    與 gzip 不同,lha 實用程序執行多個文件的壓縮。要壓縮單個文件,輸入 lha a archive file。lha 創建的檔案帶有 .lzh 擴展名。如果 archive.lzh 已在當前的工作目錄中存在,那麼您讓 lha 壓縮的文件就將添加到這一現有的檔案中。archive.lzh 先前的內容仍被保留,除非它已包含帶有相同名稱的文件,在這種情況下,舊文件將被新文件取代。該操作是 盲目的,意味著它不檢查文件的時間戳記;要確保只有帶有更新時間戳記的文件才能替換檔案中已保存的較舊的文件,這時使用 u 選項而不是 a 選項(例如,lha u archive file)。    當收到 .lzh 文件的人抱怨無法解壓縮檔案時,嘗試使用 lha ag archive file 或 lha ao archive file。g 和 o 選項分別指示 lha 使用常規或與 lha 兼容的歸檔方法。如果您只更新現有的檔案,使用 u 而不是 a。    歸檔多個文件和歸檔單個文件一樣容易:使用通配符(例如, lha a archive files*)或輸入存儲文件所在的頂級目錄(例如,lha a archive Directory)。所有文件和子目錄都將自動存儲在檔案中。文件替換規則和 u 選項對多個文件和單個文件所起的作用是一樣的。通配符使用的語法和您在常用的 shell 中所使用的語法相同。    以下是其它一些 lha 選項:    l -- 列出檔案內容(例如,lha l archive.lzh)   v -- 列出詳細格式的檔案內容(例如,lha v archive.lzh)   t -- 測試檔案的完整性(例如,lha t archive.lzh)         請注意,lha 選項不必以負號 (-) 開頭,它們之間也不應該有空格。如需其它選項的列表,請輸入 lha。    .lzh 和 .lha 文件的解壓縮相當容易:只需輸入 lha e archive.lha。如果希




Copyright © Linux教程網 All Rights Reserved