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

edithfang發表於2014-08-01



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歸檔檔案。
# tar -zcvf name_of_tar.tar.gz /path/to/folder 
對tar歸檔檔案進行解壓縮。
# 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歸檔檔案。
# 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代表Copy in and out(拷貝輸入和輸出)。cpio是一款面向Linux的通用檔案歸檔工具。它被紅帽軟體包管理器(RPM)積極使用,用於Linux核心的initramfs(初始RAM檔案系統)中,還是蘋果公司的安裝工具(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壓縮檔案,可以得到格式為“*.tar.gz”或“*.tgz”的tarball打包檔案。

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的架構和功能,很難恢復受損壞的用gzip處理的tar歸檔檔案。所以建議在不同的地方對用gzip處理的重要檔案做幾個備份。

英文:http://www.tecmint.com/command-line-archive-tools-for-linux/
相關閱讀
評論(3)

相關文章