1. 程式人生 > >day18--linux下gzip、bzip2、xz三種壓縮工具的介紹

day18--linux下gzip、bzip2、xz三種壓縮工具的介紹

gzip bzip2 zip xz

6.1:壓縮打包介紹:

壓縮:節省空間,方便傳輸,帶寬資源耗費變少:

常用的壓縮文件類型:

windows: .rar .zip .7z

linux: .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz


1.壓縮工具gzip:(不能壓縮目錄,且壓縮後刪除源文件)

語法: gzip [-d1-9] file

-d:壓縮源文件時使用(結合gzip使用)《=======>gunzip(效果一樣)

1-9:指的是壓縮級別,1為最差(最大),9為最好(最小),默認是6.

1.1:首先我準備一個內容大的文件,效果比較明顯

[root@localhost ~]# du -sh 11.txt            #查看此文件大小的內容為2M.
2.0M    11.txt
[root@localhost ~]# gzip 11.txt              #gzip對其進行壓縮:
[root@localhost ~]# du -sh 11.txt.gz         #壓縮後大小為24K,效果明顯:
24K     11.txt.gz
[root@localhost ~]# gzip -d 11.txt.gz        #使用gzip對其加壓縮:
[root@localhost ~]# gzip -1 11.txt           #使用壓縮級別1(最差的)來對文本進行壓縮:
[root@localhost ~]# du -sh 11.txt.gz         #壓縮後大小變為240K:
240K    11.txt.gz
[root@localhost ~]# gunzip 11.txt.gz         #使用gunzip進行解壓縮:

如上我們可知,文本壓縮的命令有兩種如下:

gzip -d file (-d必須要加)

gunzip file (不需要加任何參數)

1.2:gzip還支持對壓縮文件內容進行查看

語法:zcat filename

[root@localhost ~]# zcat 1.txt.gz        #使用zcat進行查看
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

1.3:gzip也支持壓縮時保留源文件: ( -c )

語法: gzip -c 源文件 壓縮後文件名

(兩者的名稱不能相同)

[root@localhost ~]# gzip -c 1.txt > 2.txt.gz

[root@localhost ~]# gzip -dc 1.txt.gz > 5.txt #將文件解壓後到5.txt文件:

註意:有時候保留源文件後,再解壓時會提示文件已存在,則無法解壓:

[root@localhost ~]# bzip2 -d 1.txt.bz2

bzip2: Output file 1.txt already exists.

則可以使用-df選項,強制覆蓋:

[root@localhost ~]# bzip2 -df 1.txt.bz2

2、壓縮工具bzip2(不支持壓縮目錄,壓縮後不保留源文件)

壓縮級別:1-9:默認為9

2.1:語法:bzip [ -dz ] filename

選項如下:

-z:壓縮文件時使用(不見-z選項也是可以的)

-d:解壓文件時使用:

也是準備一個內容比較大的文件:

[root@localhost ~]# du -sh 11.txt          #查看文件大小為2M:
2.0M    11.txt
[root@localhost ~]# bzip2 11.txt           #使用bzip2進行壓縮,默認級別是9:
[root@localhost ~]# du -sh 11.txt.bz2      #壓縮後28K,效果較明顯:
28K     11.txt.bz2
[root@localhost ~]# bzip2 -d 11.txt.bz2    #使用bzip2 -d 進行解壓縮:
[root@localhost ~]# bzip2 -z1 11.txt       #使用1級別進行壓縮:文件144K:
[root@localhost ~]# du -sh 11.txt.bz2      #再次查看文件大小:
144K    11.txt.bz2

由此得出:bzip的九個壓縮級別:1級別壓縮後內容最9壓縮後內容最

2.2:gzip2還支持對壓縮文件內容進行查看

語法:bzcat filename

[root@localhost ~]# bzcat 1.txt.bz2         #bzcat查看文件內容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

1.3:gzip也支持壓縮時保留源文件: ( -k

語法: bzip2 -k 源文件 壓縮後文件名 (兩者的名稱不能相同)

[root@localhost ~]# bzip2 -k 1.txt  > 2.txt.bz2       #保留源文件:

[root@localhost ~]# bzip2 -dc 1.txt.bz2 > 5.txt #將文件解壓後到5.txt文件:

3、壓縮工具zip:(可以同時壓縮文件和目錄)-->壓縮後會保留源文件:

可以使用yum install -y zip 來安裝

windows和linux下的壓縮文件可以通用:

語法如下

壓縮文件:zip 壓縮後名稱 需壓縮的文件

解壓文件:unzip 壓縮包名稱

3.1:解壓縮文件:

[root@localhost ~]# zip 1.txt.zip 1.txt #用zip來壓縮文件:

adding: 1.txt (deflated 59%)

[root@localhost ~]# ls -l 1.txt 1.txt.zip

-rw-r--r-- 1 root root 964 11月 9 21:16 1.txt

-rw-r--r-- 1 root root 555 11月 9 22:42 1.txt.zip

3.2:解壓縮目錄:zip -r 壓縮後目錄名稱 需壓縮的目錄

[root@localhost ~]# zip -r yuanhh.zip yuanhh

adding: yuanhh/ (stored 0%)

adding: yuanhh/2/ (stored 0%)

adding: yuanhh/4/ (stored 0%)

adding: yuanhh/3 (stored 0%)

adding: yuanhh/1.bak (stored 0%)

adding: yuanhh/1.txt.bz2 (stored 0%)

[root@localhost ~]# ls -ld yuan* #源文件來存在

drwxr-sr-x 4 root yuanhh 63 11月 9 19:24 yuanhh

-rw-r--r-- 1 root root 1360 11月 9 23:02 yuanhh.zip

3.2:所以解壓縮文件時,會提示是否覆蓋呢:會提示是否覆蓋:

[root@localhost ~]# unzip yuanhh.zip

Archive: yuanhh.zip

replace yuanhh/3? [y]es, [n]o, [A]ll, [N]one, [r]ename:y

extracting: yuanhh/3

replace yuanhh/1.bak? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

extracting: yuanhh/1.bak

replace yuanhh/1.txt.bz2? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

extracting: yuanhh/1.txt.bz2

如果不想提示:可以使用unzip -o 壓縮文件名

[root@localhost ~]# unzip -o yuanhh.zip #-o則自動覆蓋,不會提示:

Archive: yuanhh.zip

extracting: yuanhh/3

extracting: yuanhh/1.bak

extracting: yuanhh/1.txt.bz2

4、壓縮工具xz:(不能壓縮目錄,且壓縮後刪除源文件)

語法: xz [ -zd ] 文件名

[root@localhost ~]# xz 1.txt #壓縮文件

[root@localhost ~]# xz -d 1.txt.xz #解壓縮文件

4.1:xz壓縮時;也可以保留源文件:用-c:

[root@localhost ~]# xz -c 1.txt > 1.txt.xz #壓縮後保留源文件:

[root@localhost ~]# xz -dc 1.txt.xz > 5.txt #將文件解壓後到5.txt文件:








本文出自 “芬野_de博客” 博客,請務必保留此出處http://yuanhaohao.blog.51cto.com/7714752/1980466

day18--linux下gzip、bzip2、xz三種壓縮工具的介紹