五款最佳的Linux命令行歸檔工具
譯文在我們面對的日常工作中,各種平臺上的歸檔文件有可能是Windows、Mac或Linux等類型。幾款應(yīng)用軟件可供所有平臺創(chuàng)建歸檔文件以及對歸檔文件進行解壓縮。說到在Linux平臺上工作,我們需要非常頻繁地處理歸檔文件。
Linux命令行歸檔工具
我們在本文中將探討標準Linux發(fā)行版上可供使用的歸檔工具、功能特性以及實例等。文章分上下兩部分,每個部分各自介紹了五款命令行歸檔工具(也就是說,總共介紹了十款***的Linux命令行工具)。
何謂歸檔文件
歸檔文件是經(jīng)過壓縮的文件,它由一個或多個計算機文件以及元數(shù)據(jù)組成。
歸檔的功能特性
- 數(shù)據(jù)壓縮
- 加密
- 文件并置
- 自動解壓
- 自動安裝
- 源卷和介質(zhì)信息
- File spanning
- 校驗和
- 目錄結(jié)構(gòu)信息
- 其他元數(shù)據(jù)(關(guān)于數(shù)據(jù)的數(shù)據(jù))
- 錯誤發(fā)現(xiàn)
應(yīng)用領(lǐng)域
- 存儲計算機文件系統(tǒng)以及元數(shù)據(jù)。
- 適用于本地傳送文件。
- 適用于通過互聯(lián)網(wǎng)傳送文件。
- 軟件包裝應(yīng)用程序。
標準Linux發(fā)行版上實用的歸檔應(yīng)用軟件包括如下:
1. tar命令
tar是標準的UNIX/Linux歸檔應(yīng)用軟件工具。在早期階段,它曾經(jīng)是一款磁帶歸檔軟件,后來慢慢發(fā)展成了通用歸檔軟件包,能夠處理各種類型的歸檔文件。tar可接受許多帶選項的歸檔過濾器。
tar選項
- -A:將tar文件添加到現(xiàn)有歸檔的末尾。
- -c:創(chuàng)建一個新的歸檔文件。
- -d:使用指定的文件系統(tǒng)比較歸檔。
- -j:用bzip壓縮歸檔。
- -r:將文件添加到現(xiàn)有歸檔的末尾。
- -t:列出現(xiàn)有歸檔的內(nèi)容。
- -u:更新歸檔。
- -x:從現(xiàn)有歸檔解壓文件。
- -z:用gzip壓縮歸檔。
- –delete:從現(xiàn)有歸檔刪除文件。
tar實例
創(chuàng)建一個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代表外殼歸檔,這是一個外殼腳本,執(zhí)行該腳本就可以創(chuàng)建文檔。shar是自解壓歸檔文件,這是一款老式實用工具,需要Unix Bourne外殼來解壓文件。shar的優(yōu)勢在于采用明文格式,不過它可能很危險,因為它輸出的是可執(zhí)行文件。
shar選項
- -o:將輸出保存到選項中指定的歸檔文檔。
- -l:限制選項中指定的輸出文件大小,但不分割輸入文件。
- -L:限制在選項中指定的輸出文件大小,但分割輸入文件。
- -n:歸檔名稱添加到shar文件的頭部中。
- -a:允許自動生成文件頭部。
注意:如果使用了“-l”或“-L”選項,就要用“-o”選項;如果使用了“-a”選項,就要用“-n”選項。
shar實例
創(chuàng)建一個shar歸檔文件。
- # shar file_name.extension > filename.shar
解壓shar歸檔文件。
- # unshar file_name.shar
3. ar命令
ar是創(chuàng)建和處理歸檔的實用工具,主要用于二進制對象文件庫。ar代表歸檔工具,可用于歸檔任何用途的各種歸檔,但是基本上已被“tar”取而代之;現(xiàn)如今,它只用于創(chuàng)建和更新靜態(tài)庫文件。
ar選項
- -d:從歸檔中刪除模塊。
- -m:移動歸檔中的成員。
- -p:顯示歸檔的指定成員的內(nèi)容。
- -q:快速添加。
- -r:將文件成員插入到歸檔。
- -s:為歸檔添加索引。
- -a:將新文件添加到歸檔的現(xiàn)有成員。
ar實例
使用“ar”工具創(chuàng)建一個歸檔,靜態(tài)庫為“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內(nèi)核的initramfs(初始RAM文件系統(tǒng))中,還是蘋果公司的安裝工具(pax)中的一個重要歸檔工具。
cpio選項
- -0:讀取由空字符終止而不是由換行符終止的文件名列表。
- -a:復位訪問時間。
- -A:添加到現(xiàn)有歸檔。
- -b:交換。
- -d:創(chuàng)建目錄。
cpio實例
創(chuàng)建一個“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是一種標準的、廣泛應(yīng)用的文件壓縮和解壓縮實用工具。gzip允許文件并置。用gzip壓縮文件,可以得到格式為“*.tar.gz”或“*.tgz”的tarball打包文件。
gzip選項
- –stdout:將輸出寫到標準輸出設(shè)備上。
- –to-stdout:將輸出寫到標準輸出設(shè)備上。
- –decompress:解壓縮文件。
- –uncompress:解壓縮文件。
- -d:解壓縮文件。
- -f:強行壓縮/解壓縮。
gzip實例
創(chuàng)建一個“gzip”歸檔文件。
- # tar -cvzf name_of_archive.tar.gz /path/to/folder
解壓縮“gzip”歸檔文件。
- # gunzip file_name.tar.gz
執(zhí)行上面這個命令后必須緊跟著執(zhí)行下面這個命令。
- # tar -xvf file_name.tar
注意:由于gzip的架構(gòu)和功能,很難恢復受損壞的用gzip處理的tar歸檔文件。所以建議在不同的地方對用gzip處理的重要文件做幾個備份。
暫且介紹這么多。我們會在下一篇文章中介紹另外面向Linux的壓縮和解壓縮應(yīng)用軟件。敬請關(guān)注。
英文:http://www.tecmint.com/command-line-archive-tools-for-linux/