linux下數(shù)據(jù)壓縮的幾種方法與查看方式(示例代碼)
1,tar命令
使用tar程序打出來(lái)的包我們常稱為tar包,tar包文件的命令通常都是以.tar結(jié)尾的。生成tar包后,就可以用其它的程序來(lái)進(jìn)行壓縮了,tar命令本身不進(jìn)行數(shù)據(jù)壓縮,但可以在打包或解包的同時(shí)調(diào)用其它的壓縮程序,比如調(diào)用gzip、bzip2
選項(xiàng):
-c 創(chuàng)建.tar格式包文件
-x 解開.tar格式包文件
-v顯示詳細(xì)信息
-f 使用歸檔文件
-p 保留原始文件權(quán)限
-C 解壓到目標(biāo)文件夾
-z 調(diào)用gzip進(jìn)行壓縮或解壓
-j 調(diào)用bzip2進(jìn)行壓縮或解壓
打包示例:
tar -cvf /root/Desktop/aa.tar bb.txt 打包文件
打包并壓縮示例:
tar -zcvf /root/Desktop/aa.tar.gz bb.txt
壓縮文件
解壓縮示例:
tar -zxvf /root/Desktop/aa.tar.gz -C /aa/bb
解壓文件
2,gzip壓縮
常用數(shù)據(jù)壓縮命令,壓縮比例可手工調(diào)整, 壓縮后文件名 filename.gz:
注:壓縮后文件可直接load至hive數(shù)據(jù)庫(kù),但每個(gè)文件只會(huì)產(chǎn)生一個(gè)map,查詢效率極低
選項(xiàng):
-c 將輸出寫到標(biāo)準(zhǔn)輸出上,并保留原有文件。
-d 將壓縮文件解壓。
-l 對(duì)每個(gè)壓縮文件,顯示下列字段:
壓縮文件的大??;未壓縮文件的大?。粔嚎s比;未壓縮文件的名字
-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮。
-t 測(cè)試,檢查壓縮文件是否完整。
-v 對(duì)每一個(gè)壓縮和解壓的文件,顯示文件名和壓縮比。
-num 用指定的數(shù)字 num 調(diào)整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比),
-9 或--best表示最慢壓縮方法(高壓縮比)。系統(tǒng)缺省值為 6。
壓縮示例:
gzip filename
查看gzip壓縮文件內(nèi)容命令:
zcat filename.gz
解壓縮命令:
gzip -d filename.gz
壓縮過(guò)程中可控制壓縮率(1-9),1壓縮最快,壓縮率不高,9壓縮最慢,壓縮比例最高,缺省為6,例如:
gzip -9 filename
3,bzip2壓縮
常用數(shù)據(jù)壓縮命令,壓縮比例比gzip高,壓縮后文件名為filename.bz2
注:壓縮后文件可直接load至hive數(shù)據(jù)庫(kù)
選項(xiàng)
-c或——stdout:將壓縮與解壓縮的結(jié)果送到標(biāo)準(zhǔn)輸出;
-d或——decompress:執(zhí)行解壓縮;
-f或-force:bzip2在壓縮或解壓縮時(shí),若輸出文件與現(xiàn)有文件同名,預(yù)設(shè)不會(huì)覆蓋現(xiàn)有文件。若要覆蓋。請(qǐng)使用此參數(shù);
-h或——help:在線幫助;
-k或——keep:bzip2在壓縮或解壓縮后,會(huì)刪除原始文件。若要保留原始文件,請(qǐng)使用此參數(shù);
-s或——small:降低程序執(zhí)行時(shí)內(nèi)存的使用量;
-t或——test:測(cè)試.bz2壓縮文件的完整性;
-v或——verbose:壓縮或解壓縮文件時(shí),顯示詳細(xì)的信息;
-z或——compress:強(qiáng)制執(zhí)行壓縮;
-V或——version:顯示版本信息;
--repetitive-best:若文件中有重復(fù)出現(xiàn)的資料時(shí),可利用此參數(shù)提高壓縮效果;
--repetitive-fast:若文件中有重復(fù)出現(xiàn)的資料時(shí),可利用此參數(shù)加快執(zhí)行效果。
壓縮示例:
bzip2 filename
解壓縮示例:
bzip2 -d filename.bz2
直接查看壓縮文件示例:
bzcat filename.bz2
使用默認(rèn)壓縮情況下壓縮性能:
bzip2 > gzip > tar
總結(jié)
以上所述是小編給大家介紹的linux下數(shù)據(jù)壓縮的幾種方法與查看方式,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
bash批量修改文件名稱的方法小結(jié)(增加,去除,修改后綴)
bash批量修改文件名稱的方法總結(jié),包括為文件增加后綴、修改文件名后綴、去除文件名后綴、修改文件名前綴,有需要的朋友可以參考下2013-02-02Shell腳本中計(jì)算字符串長(zhǎng)度的5種方法
這篇文章主要介紹了Shell腳本中計(jì)算字符串長(zhǎng)度的5種方法,來(lái)自于個(gè)人Shell腳本長(zhǎng)期的開發(fā)經(jīng)驗(yàn),需要的朋友可以參考下2014-06-06Shell編程之/bin/bash和/bin/sh的區(qū)別淺析
在redhat的系統(tǒng)中,sh是一個(gè)到bash的軟鏈接,但是如果運(yùn)行如下程序會(huì)產(chǎn)生不一樣的結(jié)果,下面這篇文章主要給大家介紹了關(guān)于Shell編程之/bin/bash和/bin/sh的區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-07-07Linux下使用expect命令編寫自動(dòng)化交互腳本
今天小編就為大家分享一篇關(guān)于Linux下使用expect命令編寫自動(dòng)化交互腳本,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11shell 命令統(tǒng)計(jì)代碼行數(shù)的簡(jiǎn)單代碼
這篇文章主要介紹了shell 命令統(tǒng)計(jì)代碼行數(shù)的簡(jiǎn)單代碼,文中給大家提到了統(tǒng)計(jì)行數(shù)、字符數(shù)、字節(jié)數(shù)的shell腳本 ,需要的朋友可以參考下2018-04-04Shell腳本導(dǎo)入導(dǎo)出數(shù)據(jù)的項(xiàng)目示例
在工作中,很多場(chǎng)景都會(huì)涉及到數(shù)據(jù)的導(dǎo)入導(dǎo)出,本文就介紹一下使用Shell腳本導(dǎo)入導(dǎo)出數(shù)據(jù)的項(xiàng)目示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04