Day-15-Linux 文件的壓縮

一募书、什么是文件壓縮

  • 定義:將多個文件或者目錄合并打包為一個特殊的文件

二块饺、文件壓縮的意義

  • 壓縮使 文件按照百分比減小
  • 提高文件的傳輸速率
  • 節(jié)省網(wǎng)絡資源(寬帶)

三栋荸、Windows和Linux壓縮包類型相同和不同

1)不同點

  • Windows一般是zip和rar
  • Linux一般使用:zip泣懊、tar.gz

2)相同點

  • 相互通用的的壓縮有:zip 咕痛,一般Linux中壓縮的可以在Windows中打開

1、Linux中常見的壓縮類型

格式 壓縮工具及運用
.zip zip壓縮工具距误,壓縮后不會刪除原文件簸搞。
.gz gzip壓縮工具,只能壓縮文件准潭,壓縮后會刪除原文件趁俊,(通常配合tar使用)
.bz2 bzip2壓縮工具,只能壓縮文件刑然,壓縮后會刪除原文件
.tar.gz 先使用tar命令歸檔打包寺擂,然后使用gzip壓縮
.tar.gz2 先使用tar命令歸檔打包,然后使用gzip壓縮

2泼掠、gzip的壓縮方式——只能對文件壓縮并刪除原文件

1)查看壓縮后的文件:zcat

2)gzip -d 解壓壓縮包

3)使用場景

  • 當需要讓某個文件在系統(tǒng)中不生效時怔软,我們可以用gzip將其壓縮。
1择镇、對文件進行壓縮
[root@oldboy ~]# gzip cuixinpeng.txt     
[root@oldboy ~]# ls
cuixinpeng.txt.gz 

2挡逼、查看壓縮包的文件 zcat 
[root@oldboy ~]# zcat cuixinpeng.txt.gz 

3、解壓壓縮包  
[root@oldboy ~]# gzip -d cuixinpeng.txt.gz 
[root@oldboy ~]# ls
cuixinpeng.txt

2腻豌、zip的壓縮方式——不會刪除原文件

1)使用方法:zip + 壓縮包名稱(.zip) + 壓縮的文件

2)zip壓縮包的遞歸參數(shù): -r (打包目錄)

3)unzip解壓家坎, -d 指定解壓到哪個目錄

unzip +解壓包 + -d +解壓到的哪個目錄

4)-T 查看zip壓縮包是否是完整的 (zip + -T + 壓縮包)

5)-l 不解壓壓縮查看壓縮包中的內(nèi)容(unzip + -l + 壓縮包)

6)-t 檢測壓縮的文件是否都ok (unzip + -t + 壓縮包)

1、用zip壓縮文件
[root@oldboy ~]# zip cui.zip cuixinpeng.txt 
  adding: cuixinpeng.txt (stored 0%)
[root@oldboy ~]# ls
cuixinpeng.txt  cui.zip 

2吝梅、利用  -r  遞歸將目錄下面的文件一并打包壓縮
[root@oldboy ~]# zip -r heh.zip /var/log/
  adding: var/log/ (stored 0%)
  adding: var/log/tallylog (stored 0%)
  adding: var/log/audit/ (stored 0%)
  adding: var/log/vmware-vgauthsvc.log.0 (deflated 93%)
  adding: var/log/vmware-vmsvc.log (deflated 90%)
  adding: var/log/firewalld (stored 0%)
  adding: var/log/yum.log (deflated 62%)
  adding: var/log/vmware-network.6.log (deflated 64%)
[root@oldboy ~]# ls
heh.zip

3虱疏、用unzip解壓壓縮包 unzip
[root@oldboy ~]# unzip heh.zip 
[root@oldboy ~]# ls
heh.zip  var

4、unzip -d解壓到指定的路徑
[root@oldboy ~]# unzip heh.zip -d /tmp/
[root@oldboy ~]# ls /tmp/var/log/

5憔涉、查看zip壓縮包是否是完整的       
[root@oldboy ~]#  zip -T heh.zip
test of filename.zip OK

6订框、不解壓壓縮查看壓縮包中的內(nèi)容
[root@oldboy ~]#  unzip -l heh.zip

7、檢測文件是否都ok   
[root@oldboy ~]#  unzip -t  heh.zip

  • 解壓時注意:解壓時有可能會覆蓋已經(jīng)有的文件兜叨,所以盡可能找一個空的目錄解壓穿扳,然后移動到指定目錄

3衩侥、tar.gz格式壓縮包——tar打包,gzip進行壓縮

1)參數(shù):

符號 含義
c 創(chuàng)建新的文件歸檔
x 對歸檔的文件進行解包
t 列出歸檔文件中的文件列表
v 輸出命令的歸檔或者解包過程
f 指定包文件名矛物,多參數(shù)f寫最后
z 使用gzip壓縮歸檔文件(文件類型為 .tar.gz)
j 使用bzip2壓縮歸檔后的文件(文件類型為 .tar.bz2)
J 使用xz壓縮歸檔后的文件(文件類型為 tar.xz)
C 指定解壓到目錄位置
X 排除多個文件(寫入需要排除的文件名稱)
h 打包時將軟鏈接 同時打包
--exclude 在打包的時候?qū)懭胄枰懦募蚰夸?/td>

2)常用的壓縮包類型

符號 含義
czf 打包tar.gz格式
tf 查看壓縮包內(nèi)容
xf 自動選擇解壓模式
很少用到的類型
cjf     打包tar.bz格式 
zxf     解壓tar.gz格式
jxf     解壓tar.bz格式
cJf     打包tar.xz格式  

3)應用

1茫死、利用以 gzip 方式壓縮 和以 bz2 方式壓縮
[root@oldboy ~]# tar czf wode.tar.gz cui.txt var/
[root@oldboy ~]# tar cjf  wode.tar.bz2 cui.txt var/
[root@oldboy ~]# ls
cui.txt  heh.zip  var  wode.tar.gz     wode.tar.bz2

2、查看壓縮的文件
[root@oldboy ~]# tar tf wode.tar.gz 
cui.txt
var/
var/log/
var/log/tallylog
var/log/grubby_prune_debug
var/log/lastlog
var/log/wtmp
var/log/btmp

3履羞、解壓壓縮的文件
[root@oldboy ~]# tar xf wode.tar.gz 

4峦萎、解壓壓縮包至指定目錄
[root@oldboy ~]# tar xf wode.tar.gz   -C /tmp/   

4)壓縮文件或者目錄時排除部分文件,命令:--exclude

1忆首、利用--exclude排除
[root@oldboy ~]#  tar czf etc.tar.gz /etc/ --exclude=etc/services 
[root@oldboy ~]#  tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow

2爱榔、將需要排除的文件寫入文件中,然后排除
[root@oldboy ~]#  vim pc.txt 
etc/gshadow 
etc/gshadow
etc/passwd 
etc/passwd
etc/shadow
etc/shadow 
etc/security/opasswd 
etc/pam.d/passwd 

[root@oldboy ~]#  cat pc.txt 
etc/gshadow 
etc/gshadow
etc/passwd 
etc/passwd
etc/shadow
etc/shadow 
etc/security/opasswd 
etc/pam.d/passwd 

[root@oldboy ~]#   tar czXf pc.txt etc.tar.gz  /etc/

5)例題:文件的備份和恢復

1.環(huán)境準備 
[root@oldboy ~]#  yum install mariadb-server 
[root@oldboy ~]#  systemctl start mariadb 
[root@oldboy ~]#  mkdir /backup

例1.mysql備份及恢復 
[root@oldboy ~]#  tar cJf /backup/mysql.tar.xz /var/lib/mysql 
[root@oldboy ~]#  tar xf /backup/mysql.tar.xz -C /

例2 mysql備份及恢復
[root@oldboy ~]#  cd /var/lib/mysql 
[root@oldboy mysql]# tar cJf /backup/mysql.tar.xz * 
[root@oldboy mysql]# tar tf /backup/mysql.tar.xz
[root@oldboy mysql]# tar xf /backup/mysql.tar.xz C /var/lib/mysql

總結(jié)

今天主要學習了文件的怎樣壓縮糙及,以及壓縮的不同方式详幽,我們在不同的環(huán)境與條件下選擇不同的壓縮方式。學了很多關于壓縮的參數(shù)與選項浸锨。最后還學了一個怎樣備份恢復文件唇聘。

Linux中如何壓縮解壓文件.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市柱搜,隨后出現(xiàn)的幾起案子迟郎,更是在濱河造成了極大的恐慌,老刑警劉巖聪蘸,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宪肖,死亡現(xiàn)場離奇詭異,居然都是意外死亡健爬,警方通過查閱死者的電腦和手機匈庭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浑劳,“玉大人,你說我怎么就攤上這事夭拌∧а” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵鸽扁,是天一觀的道長蒜绽。 經(jīng)常有香客問我,道長桶现,這世上最難降的妖魔是什么躲雅? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮骡和,結(jié)果婚禮上相赁,老公的妹妹穿的比我還像新娘相寇。我一直安慰自己,他們只是感情好钮科,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布唤衫。 她就那樣靜靜地躺著,像睡著了一般绵脯。 火紅的嫁衣襯著肌膚如雪佳励。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天蛆挫,我揣著相機與錄音赃承,去河邊找鬼。 笑死悴侵,一個胖子當著我的面吹牛瞧剖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播畜挨,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼筒繁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了巴元?” 一聲冷哼從身側(cè)響起毡咏,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逮刨,沒想到半個月后呕缭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡修己,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年恢总,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睬愤。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡片仿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出尤辱,到底是詐尸還是另有隱情砂豌,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布光督,位于F島的核電站阳距,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏结借。R本人自食惡果不足惜筐摘,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咖熟,春花似錦圃酵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至咽斧,卻和暖如春堪置,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背张惹。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工舀锨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宛逗。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓坎匿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雷激。 傳聞我的和親對象是個殘疾皇子替蔬,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容