檔案歸檔器
檔案歸檔器用於將多個檔案集合為一個或一組歸檔檔案,同時或壓縮以減小檔案大小,以便於傳輸或儲存。支援壓縮功能的也被稱之為壓縮工具。
最基本的歸檔器只需取得檔案列表,然後將其內容順序寫到歸檔中,同時在歸檔中儲存必要的元數據,如原始檔案的名稱和長度等。更進階的歸檔器會儲存其他的元數據,例如原始時間戳,檔案屬性或訪問控制列表等。
製作歸檔檔案的過程稱為歸檔,壓縮或打包。從歸檔中重建原始檔案稱為解壓縮或提取。
歷史
早期的歸檔器有CTSS和Multics上的命令archive
,僅歸檔而沒有壓縮功能。Multics也有一個tape_archiver
命令,縮寫為 ta,可能是unix命令tar的前身。[1]
Unix歸檔器
Unix工具 ar,tar,cpio僅歸檔而沒有壓縮。用戶其他工具如gzip, bzip2, 或 xz用於壓縮歸檔檔案或提取前解壓縮。檔案字尾名依次添加,如使用tar歸檔後用gzip壓縮,則歸檔檔案字尾為 .tar.gz
。
此方法優點在於:
- 遵循Unix哲學,即每個程式都應該儘量完美地完成一項任務,而不是試圖用一個工具來完成所有事情。隨着壓縮技術的發展,用戶可以使用不同的壓縮程式,而無需修改或放棄其歸檔器。
- 支援結實壓縮。合併檔案與單獨壓縮相比,壓縮工具可以利用多個歸檔檔案的冗餘並實現更好的壓縮。
但也有缺點:
- 提取或修改檔案很困難。提取一個檔案需要解壓縮整個歸檔。修改意味着需要將檔案放回歸檔,然後再次壓縮歸檔,這需要額外的時間和磁碟空間。
- 歸檔檔案容易損壞。如果儲存多個檔案共用數據的區域被損壞,所有那些檔案都將遺失。
- 除非壓縮窗口大於單個檔案的大小,否則無法利用檔案之間的冗餘。
Windows歸檔器
Windows內建的歸檔器和常用的如WinRAR、 7-zip通常使用圖形介面,支援歸檔和壓縮。有的支援命令列介面和結實壓縮。
參見
參考
- ^ Van Vleck, Tom. Multics Glossary - A. multicians.org. [2016-01-06]. (原始內容存檔於2018-07-03).