歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux命令 >> 五款最佳的Linux命令行歸檔工具

五款最佳的Linux命令行歸檔工具

日期:2017/2/28 10:00:07   编辑:Linux命令
Linux命令

在我們面對的日常工作中,各種平台上的歸檔文件有可能是Windows、Mac或Linux等類型。幾款應用軟件可供所有平台創建歸檔文件以及對歸檔文件進行解壓縮。說到在Linux平台上工作,我們需要非常頻繁地處理歸檔文件。

Linux命令行歸檔工具

我們在本文中將探討標准Linux發行版上可供使用的歸檔工具、功能特性以及實例等。文章分上下兩部分,每個部分各自介紹了五款命令行歸檔工具(也就是說,總共介紹了十款最佳的Linux命令行工具)。

何謂歸檔文件

歸檔文件是經過壓縮的文件,它由一個或多個計算機文件以及元數據組成。

歸檔的功能特性

  • 數據壓縮
  • 加密
  • 文件並置
  • 自動解壓
  • 自動安裝
  • 源卷和介質信息
  • File spanning
  • 校驗和
  • 目錄結構信息
  • 其他元數據(關於數據的數據)
  • 錯誤發現

應用領域

  • 存儲計算機文件系統以及元數據。
  • 適用於本地傳送文件。
  • 適用於通過互聯網傳送文件。
  • 軟件包裝應用程序。

標准Linux發行版上實用的歸檔應用軟件包括如下:

1. tar命令

tar是標准的UNIX/Linux歸檔應用軟件工具。在早期階段,它曾經是一款磁帶歸檔軟件,後來慢慢發展成了通用歸檔軟件包,能夠處理各種類型的歸檔文件。tar可接受許多帶選項的歸檔過濾器。

tar選項

  • -A:將tar文件添加到現有歸檔的末尾。
  • -c:創建一個新的歸檔文件。
  • -d:使用指定的文件系統比較歸檔。
  • -j:用bzip壓縮歸檔。
  • -r:將文件添加到現有歸檔的末尾。
  • -t:列出現有歸檔的內容。
  • -u:更新歸檔。
  • -x:從現有歸檔解壓文件。
  • -z:用gzip壓縮歸檔。
  • –delete:從現有歸檔刪除文件。

tar實例

創建一個tar歸檔文件。

  1. # tar -zcvf name_of_tar.tar.gz /path/to/folder

對tar歸檔文件進行解壓縮。

  1. # tar -zxvf Name_of_tar_file.tar.gz

想了解更詳細的例子,請參閱《Linux下的18個Tar命令實例》一文:http://www.tecmint.com/18-tar-command-examples-in-linux/。

2. shar命令

shar代表外殼歸檔,這是一個外殼腳本,執行該腳本就可以創建文檔。shar是自解壓歸檔文件,這是一款老式實用工具,需要Unix Bourne外殼來解壓文件。shar的優勢在於采用明文格式,不過它可能很危險,因為它輸出的是可執行文件。

shar選項

  • -o:將輸出保存到選項中指定的歸檔文檔。
  • -l:限制選項中指定的輸出文件大小,但不分割輸入文件。
  • -L:限制在選項中指定的輸出文件大小,但分割輸入文件。
  • -n:歸檔名稱添加到shar文件的頭部中。
  • -a:允許自動生成文件頭部。

注意:如果使用了“-l”或“-L”選項,就要用“-o”選項;如果使用了“-a”選項,就要用“-n”選項。

shar實例

創建一個shar歸檔文件。

  1. # shar file_name.extension > filename.shar

解壓shar歸檔文件。

  1. # unshar file_name.shar

3. ar命令

ar是創建和處理歸檔的實用工具,主要用於二進制對象文件庫。ar代表歸檔工具,可用於歸檔任何用途的各種歸檔,但是基本上已被“tar”取而代之;現如今,它只用於創建和更新靜態庫文件。

ar選項

  • -d:從歸檔中刪除模塊。
  • -m:移動歸檔中的成員。
  • -p:顯示歸檔的指定成員的內容。
  • -q:快速添加。
  • -r:將文件成員插入到歸檔。
  • -s:為歸檔添加索引。
  • -a:將新文件添加到歸檔的現有成員。

ar實例

使用“ar”工具創建一個歸檔,靜態庫為“libmath.a”,兩個對象文件為“substraction”和“division”,具體如下。

  1. # ar cr libmath.a substraction.o division.o

解壓“ar”歸檔文件。

  1. # ar x libmath.a

4. cpio

cpio代表Copy in and out(拷貝輸入和輸出)。cpio是一款面向Linux的通用文件歸檔工具。它被紅帽軟件包管理器(RPM)積極使用,用於Linux內核的initramfs(初始RAM文件系統)中,還是蘋果公司的安裝工具(pax)中的一個重要歸檔工具。

cpio選項

  • -0:讀取由空字符終止而不是由換行符終止的文件名列表。
  • -a:復位訪問時間。
  • -A:添加到現有歸檔。
  • -b:交換。
  • -d:創建目錄。

cpio實例

創建一個“cpio”歸檔文件。

  1. # cd tecmint
  2. # ls
  3. file1.o file2.o file3.o
  4. # ls | cpio -ov > /path/to/output_folder/obj.cpio

解壓cpio歸檔文件。

  1. # cpio -idv < /path/to folder/obj.cpio

5. gzip

gzip是一種標准的、廣泛應用的文件壓縮和解壓縮實用工具。gzip允許文件並置。用gzip壓縮文件,可以得到格式為“*.tar.gz”或“*.tgz”的tarball打包文件。

gzip選項

  • –stdout:將輸出寫到標准輸出設備上。
  • –to-stdout:將輸出寫到標准輸出設備上。
  • –decompress:解壓縮文件。
  • –uncompress:解壓縮文件。
  • -d:解壓縮文件。
  • -f:強行壓縮/解壓縮。

gzip實例

創建一個“gzip”歸檔文件。

  1. # tar -cvzf name_of_archive.tar.gz /path/to/folder

解壓縮“gzip”歸檔文件。

  1. # gunzip file_name.tar.gz

執行上面這個命令後必須緊跟著執行下面這個命令。

  1. # tar -xvf file_name.tar

注意:由於gzip的架構和功能,很難恢復受損壞的用gzip處理的tar歸檔文件。所以建議在不同的地方對用gzip處理的重要文件做幾個備份。

暫且介紹這麼多。我們會在下一篇文章中介紹另外面向Linux的壓縮和解壓縮應用軟件。敬請關注。

英文:http://www.tecmint.com/command-line-archive-tools-for-linux/

Copyright © Linux教程網 All Rights Reserved