6.1 壓縮打包介紹 6.2 gzip壓縮工具 6.3 bzip2壓縮工具 6.4 xz壓縮工具

壓縮打包介紹

使用壓縮工具的好處:
使用壓縮文件,不只能夠節省磁盤空間,並且在傳輸時還能節省網絡寬帶。linux

咱們一般講的家用寬帶和機房寬帶100M是有區別的:
機房寬帶的上行和下行都是100M,因此價格昂貴,家用寬帶下行是100M,可是上行每每只有10M-20Mbash

  • Linux下最多見的壓縮文件是.tar.gz格式,還有.zip,.gz,.bz2,.xz,.tar.bz2,.tar.xz
  • 等。
  • .gz 表示由gzip壓縮工具壓縮的文件。
  • .bz2 表示由bzip2壓縮工具壓縮的文件。
  • .tar 表示由tar打包程序打包的文件(tar沒有壓縮功能,只是把一個目錄合併成一個文件)
  • .tar.gz 先打包,在由gzip壓縮
  • .tar.bz2 先打包,在由bzip2壓縮
  • .tar.xz 先打包,在由xz壓縮

gzip壓縮工具

格式:gzip [參數] filename -d是解壓縮。網絡

  • gzip -# filename //#範圍1-9,默認6
  • gzip 不能壓縮目錄
  • gzip filename 壓縮文件,暫不支持壓縮目錄,壓縮後源文件消失
  • gzip -d filename.gz 解壓文件,解壓後,源壓縮文件消失
  • gunzip filename.gz 解壓文件, 解壓後,源壓縮文件消失
  • gzip –c filename > /tmp/filename.gz指定壓縮文件路徑,而且源文件存在
  • gzip –d –c /tmp/filename.gz > ./filename 解壓文件到那個路徑下,而且源壓縮文件存在。
  • gunzip –c /tmp/filename.gz > ./filename 解壓文件到那個路徑下,而且源壓縮文件存在。
  • zcat 1.txt.gz 查看.gz文件
  • file /tmp/1.txt.gz 查看文件的屬性

例子:查找/etc/下後綴爲.conf的文件,並將它的內容追加到文件1.txt中,而且壓縮它,而後再解壓。工具

[root@linux-128 d6z]# find /etc/ -type f -name "*.conf" -exec cat {} >>1.txt \;
[root@linux-128 d6z]# du -sh 1.txt
4.0M	1.txt      //這裏要注意一下,這個大小不太準確,這裏屢次追加會看到文件,du -sh 1.txt查看的文件數值不一樣,但在屢次查看,文件大小會恢復正常。(跳轉數值較大比,是由於這個文件自己存在不少空隙,最後在壓縮並解壓後,會發現大小會有不一樣) 
[root@linux-128 d6z]# gzip 1.txt
[root@linux-128 d6z]# du -sh 1.txt.gz
664K	1.txt.gz
[root@linux-128 d6z]# gzip -d 1.txt.gz
[root@linux-128 d6z]# du -sh 1.txt
2.5M	1.txt
[root@linux-128 d6z]# gzip 1.txt
[root@linux-128 d6z]# du -sh 1.txt.gz
664K	1.txt.gz
[root@linux-128 d6z]# gunzip  1.txt.gz
[root@linux-128 d6z]# du -sh 1.txt
2.5M	1.txt
  • 壓縮文件1.txt,而且將壓縮文件放到/tmp/下
[root@linux-128 d6z]# gzip -c 1.txt > /tmp/1.txt.gz
[root@linux-128 d6z]# ls
1.txt
[root@linux-128 d6z]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
[root@linux-128 d6z]# du -sh /tmp/1.txt.gz
664K	/tmp/1.txt.gz
  • 解壓文件1.txt.gz ,存放到當前目錄下,命名爲2.txt
[root@linux-128 d6z]# gzip -d -c /tmp/1.txt.gz > ./2.txt
[root@linux-128 d6z]# ls
1.txt  2.txt
[root@linux-128 d6z]# wc -l 1.txt 2.txt
  64790 1.txt
  64790 2.txt
 129580 總用量
[root@linux-128 d6z]# du -sh 1.txt 2.txt
2.5M	1.txt
2.5M	2.txt
[root@linux-128 d6z]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
  • 查看壓縮文件1.txt.gz的內容,由於內容比較多,這裏就不粘貼出來了。
[root@linux-128 d6z]# zcat /tmp/1.txt.gz
  • file /tmp/1.txt.gz 查看屬性,
[root@linux-128 d6z]# file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu Nov  9 22:33:33 2017  
/tmp/1.txt.gz 壓縮數據是1.txt,基於unix平臺,最後修改時間是2017年11月9日星期四

bzip2壓縮工具

bzip命令的格式:bzip2 [-dz] filename ,壓縮文件時加不加-z都同樣,-d 解壓縮。
bzip比gzip壓縮更小,所耗費的CPU資源也最大(壓縮的文件也是最小的)unix

  • bzip2 1.txt / bzip2 -z 1.txt //壓縮文件
  • bzip2 -d 1.txt.bz2 / bunzip2 1.txt.bz2 //解壓文件
  • bzip -# 1.txt //#範圍1-9,默認9
  • 不能壓縮目錄
  • bzcat 1.txt.bz2 //查看壓縮文件
  • bzip2 -c 1.txt > /root/1.txt.bz2 //指定壓縮文件路徑,而且源文件存在
  • bzip2 -c -d /root/1.txt.bz2 > /tmp/1.txt.new2 //解壓文件到指定路徑下,而且源壓縮文件存在
  • File 1.txt.bz2 查看文件屬性

第一次使用bzip2命令時提示沒有這個命令,咱們用yum安裝一下code

[root@linux-128 d6z]# bzip2 1.txt
-bash: bzip2: 未找到命令
[root@linux-128 d6z]# yum install -y bzip2
  • 壓縮文件1.txt
[root@linux-128 d6z]# bzip2 1.txt
[root@linux-128 d6z]# ls
1.txt.bz2  2.txt
  • 解壓文件1.txt.gz
[root@linux-128 d6z]# bzip2 -d 1.txt.bz2
[root@linux-128 d6z]# ls
1.txt  2.txt
  • 壓縮文件1.txt,而且指定路徑,源文件存在
[root@linux-128 d6z]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[root@linux-128 d6z]# ls /tmp/1.txt.bz2
/tmp/1.txt.bz2
[root@linux-128 d6z]# ls
1.txt  2.txt
  • 解壓文件1.txt.bz2,而且指定路徑重名命爲3.txt,源文件存在。
[root@linux-128 d6z]# bzip2 -d -c /tmp/1.txt.bz2  > ./3.txt
[root@linux-128 d6z]# ls
1.txt  2.txt  3.txt
[root@linux-128 d6z]# ls /tmp/1.txt.bz2
/tmp/1.txt.bz2
  • 查看壓縮文件1.txt.bz2 內容
[root@linux-128 d6z]# bzcat /tmp/1.txt.bz2
  • 查看文件1.txt.bz2的屬性。
[root@linux-128 d6z]# file /tmp/1.txt.bz2
/tmp/1.txt.bz2: bzip2 compressed data, block size = 900k 	//bzip2壓縮數據,大小爲900k

xz壓縮工具

xz命令格式:xz[-zd] filename 壓縮文件加不加-z均可以,-d解壓縮。
xz壓縮文件比bzip2更小,所耗費的CPU資源也最大(壓縮的文件也是最小的)ip

  • xz 1.txt / xz -z 1.txt //壓縮文件資源

  • xz -d 1.txt.xz / unxz 1.txt.xz //解壓縮文件ast

  • xz -# 1.txt //#範圍1-9,默認9sed

  • 不能壓縮目錄

  • xzcat 1.txt.xz //查看壓縮文件內容

  • xz -c 1.txt > /root/1.txt.xz //指定壓縮文件路徑,而且源文件存在

  • xz -d -c /root/1.txt.xz > 1.txt.new3 //解壓文件到指定路徑下,而且源壓縮文件存在

  • file 1.txt.xz查看文件屬性

  • 壓縮文件1.txt

root@linux-128 d6z]# xz 1.txt
[root@linux-128 d6z]# ls
1.txt.xz  2.txt  3.txt
  • 解壓文件1.txt.xz
[root@linux-128 d6z]# xz -d 1.txt.xz
[root@linux-128 d6z]# ls
1.txt  2.txt  3.txt
  • 壓縮文件1.txt,而且指定路徑,源文件存在
[root@linux-128 d6z]# xz -c 1.txt > /tmp/1.txt.xz
[root@linux-128 d6z]# ls
1.txt  2.txt  3.txt
[root@linux-128 d6z]# ls /tmp/1.txt.xz
/tmp/1.txt.xz
  • 解壓文件1.txt.bz2,而且指定路徑重名命爲4.txt,源文件存在。
[root@linux-128 d6z]# xz -d -c /tmp/1.txt.xz > ./4.txt
[root@linux-128 d6z]# ls
1.txt  2.txt  3.txt  4.txt
[root@linux-128 d6z]# ls /tmp/1.txt.xz
/tmp/1.txt.xz
  • file 1.txz.xz
[root@linux-128 d6z]# file /tmp/1.txt.xz
/tmp/1.txt.xz: XZ compressed data  //xz壓縮數據。
  • 1.txt.xz<1.txt.bz2<1.txt.gz 說明xz壓縮更嚴謹,可是所耗費cpu資源最大。
[root@linux-128 d6z]# du -sh /tmp/1.txt.gz /tmp/1.txt.bz2 /tmp/1.txt.xz
664K	/tmp/1.txt.gz
260K	/tmp/1.txt.bz2
60K	/tmp/1.txt.xz
相關文章
相關標籤/搜索