在我們日常生活中,我們會在各種平台上遇到存檔文件,無論是 Windows、Mac 還是 Linux。所有平台都有多個應用程序,可用於創建存檔文件以及解壓縮它們。當涉及在 Linux 平台上工作時,我們需要經常處理存檔文件。

在這篇文章中,我們將討論標準 Linux 發行版上可用的存檔工具,它們的功能,示例等。本文分為兩部分,每部分包含五個命令行存檔工具(即共 10個最佳命令行存檔工具)。
存檔文件是什麼?
存檔文件是由一個或多個計算機文件以及元數據組成的壓縮文件。
存檔的特點
- 數據壓縮
- 加密
- 文件連接
- 自動提取
- 自動安裝
- 源卷和媒體信息
- 文件分割
- 校驗和校驗和檢查
- 目錄結構信息
- 其他元數據(關於數據的數據)
- 錯誤發現
應用領域
- 存儲計算機文件系統以及元數據。
- 在本地傳輸文件時很有用。
- 在 Web 上傳輸文件時很有用。
- 軟件打包應用。
標準 Linux 發行版上有用的存檔應用程序如下:
1. tar命令
tar是標準的UNIX/Linux封存應用工具。在早期,它曾是一個磁帶封存程式,逐漸發展為通用封存套件,能夠處理各種類型的封存檔案。tar接受許多具有選項的封存過濾器。
tar選項
- -A:將tar檔案附加到現有封存檔案。
- -c:建立新的封存檔案。
- -d:比較封存與指定的檔案系統。
- -j:對封存檔案進行bzip。
- -r:將檔案附加到現有的封存檔案。
- -t:列出現有封存檔案的內容。
- -u:更新封存檔案。
- -x:從現有封存檔案中提取檔案。
- -z:對封存檔案進行gzip。
- –delete:從現有封存檔案中刪除檔案。
tar範例
建立一個tar封存檔案。
# tar -zcvf name_of_tar.tar.gz /path/to/folder
解壓縮一個tar封存檔案。
# tar -zxvf Name_of_tar_file.tar.gz
欲瞭解更詳細的範例,請閱讀Linux中的18個tar命令範例。
shar命令
shar代表Shell存檔是一個shell腳本,執行它會創建文件。shar是一個自解壓存檔文件,是一個遺留的實用工具,需要Unix Bourne Shell來提取文件。shar的優點是純文本,但潛在危險,因為它會輸出一個可執行文件。
shar選項
- -o:將輸出保存到指定的存檔文件中。
- -l:限制輸出大小,如指定的選項,但不拆分。
- -L:限制輸出大小,如指定的選項,並拆分。
- -n:將要包含在shar文件標頭中的存檔名。
- -a:允許自動生成標頭。
注意:如果使用了‘-o‘選項,則需要‘-l‘或‘-L‘選項,如果使用了‘-a‘選項,則需要‘-n‘選項。
shar範例
創建一個shar存檔文件。
# shar file_name.extension > filename.shar
提取一個shar存檔文件。
# unshar file_name.shar
3. ar命令
ar是用於存檔的創建和操作實用工具,主要用於二進製對象文件庫。ar代表存檔,可用於為任何目的創建任何類型的存檔,但大多已被‘tar’取代,現今僅用於創建和更新靜態庫文件。
ar選項
- -d :從存檔中刪除模組。
- -m :將成員移到存檔中。
- -p :列印存檔中的指定成員。
- -q :快速附加。
- -r :將文件成員插入存檔中。
- -s :向存檔添加索引。
- -a :將新文件添加到現有存檔的成員中。
ar 實例
使用 ‘ar’ 工具創建一個靜態庫,名為 ‘libmath.a’,其中包含目標文件 ‘substraction’ 和 ‘division’。
# ar cr libmath.a substraction.o division.o
提取 ‘ar’ 存檔文件。
# ar x libmath.a
4. cpio
cpio 代表「複製進和複製出」。Cpio 是 Linux 的一個通用文件存檔工具。它被 紅帽 包管理器 (RPM) 積極使用,也用於 Linux 內核的 initramfs,同時也是 蘋果電腦的安裝程式 (pax) 中的重要存檔工具。
cpio 選項
- -0 :讀取由空字符終止而不是換行的文件名列表。
- -a :重置訪問時間。
- -A :附加。
- -b :互換。
- -d :創建目錄。
cpio 實例
創建一個 ‘cpio’ 存檔文件。
# cd tecmint # ls file1.o file2.o file3.o # ls | cpio -ov > /path/to/output_folder/obj.cpio
提取 cpio 存檔文件。
# cpio -idv < /path/to folder/obj.cpio
5. Gzip
gzip是標準且廣泛使用的文件壓縮和解壓縮工具。Gzip允許文件串接。使用gzip壓縮文件,將輸出tarball,格式為‘*.tar.gz‘或‘*.tgz‘。
gzip選項
- –stdout:在標準輸出上產生輸出。
- –to-stdout:在標準輸出上產生輸出。
- –decompress:解壓文件。
- –uncompress:解壓文件。
- -d:解壓文件。
- -f:強制壓縮/解壓縮。
gzip範例
創建一個‘gzip’彙檔。
# tar -cvzf name_of_archive.tar.gz /path/to/folder
解壓縮一個‘gzip’彙檔。
# gunzip file_name.tar.gz
上述命令必須跟隨以下命令。
# tar -xvf file_name.tar
注意:‘gzip’的架構和功能使其很難恢復損壞的‘gzipped tar archive’文件。建議對重要gzipped文件進行多次備份,保存在不同位置。
目前就介紹這些。我們將在下一篇文章中討論其他針對Linux提供的壓縮和解壓應用程序。請繼續關注並連接至Tecmint。請勿忘記在下方評論區提供寶貴的反饋。
Source:
https://www.tecmint.com/command-line-archive-tools-for-linux/