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

























