19.壓縮工具gzip bzip2 xz

6月22日任務linux

6.1 壓縮打包介紹工具

6.2 gzip壓縮工具ip

6.3 bzip2壓縮工具 sed

6.4 xz壓縮工具打包

 

 

6.1 壓縮打包介紹:file

linux中常見的一些壓縮文件gzip

.zip .gz .bz2 .xz .tar .gz .tar .bz2 .tar.xz文件

創建一些文件的時候,要把文件的後綴名設置成該格式的後綴名sse

 

-----------------------------------------------------------------------------------------------------------------------------------------co

 

6.2 gzip壓縮工具:

gzip壓縮有9個級別,gzip -1 可設置級別,通常默認就好(6級別)

壓縮的級別越高越佔CPU

不可壓縮目錄

 

gzip file 可直接壓縮

gzip -d file 可解壓縮

gunzip file 也可解壓縮

 

gzip -c 1.txt > /tmp/1.txt.gz 可指定壓縮到這個目錄下,並且原文件不消失

gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt 可指定解壓到這個目錄下,並且源文件不消失,可更名字

 

對於壓縮文件,能夠用

file 來查看信息 例如file 1.txt.gz

zcat 可列出內容

 

 

 

實例:

咱們先輸出一個大的文件

find /etc -type f -name "*conf" -exec cat {} >> 1.txt \; 反覆幾回直至他變大

 

開始壓縮

[root@aminglinux-01 d6z]# du -sh 1.txt

1.9M 1.txt 可看他當前爲1.9M

[root@aminglinux-01 d6z]# wc -l 1.txt

48624 1.txt 48624行

[root@aminglinux-01 d6z]# gzip 1.txt 開始壓縮

[root@aminglinux-01 d6z]# du -sh 1.txt 再次查看

du: 沒法訪問"1.txt": 沒有那個文件或目錄 發現沒有那個文件,其實已經壓縮後自動更名爲後綴

[root@aminglinux-01 d6z]# ls

1.txt.gz 後綴自動加上.gz

[root@aminglinux-01 d6z]# du -sh 1.txt.gz

496K 1.txt.gz 能夠看到以壓縮成功

 

那再來解壓

 

[root@aminglinux-01 d6z]# gzip -d 1.txt.gz 開始解壓

[root@aminglinux-01 d6z]# ls 查看

1.txt 已自動更改回後綴名

[root@aminglinux-01 d6z]# du -sh 1.txt 看一下大小

1.9M 1.txt 和原先同樣

[root@aminglinux-01 d6z]# wc -l 1.txt 再看一下行數

48624 1.txt 和原先同樣

 

來指定壓縮和解壓

 

[root@aminglinux-01 d6z]# gzip -c 1.txt > /tmp/1.txt.gz 指定壓縮位置

[root@aminglinux-01 d6z]# ls 看下源文件確有

1.txt

[root@aminglinux-01 d6z]# ls /tmp/1.txt.gz 看下壓縮文件確有

/tmp/1.txt.gz 而且在指定目錄下

[root@aminglinux-01 d6z]# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt 指定解壓文件到改目錄下

[root@aminglinux-01 d6z]# ls 看一下,兩個文件都在

1.txt 2.txt

[root@aminglinux-01 d6z]# wc -l *.txt 行數跟以前是同樣的

48624 1.txt

48624 2.txt

97248 總用量

[root@aminglinux-01 d6z]# du -sh *.txt 大小也是同樣的

1.9M 1.txt

1.9M 2.txt

 

---------------------------------------------------------------------------------------------------------------------------------------

 

6.3 bzip2壓縮工具 :

 

bzip2 比gzip壓縮的更狠一下

不支持壓縮目錄

bzip2默認壓縮級別就是9,因此咱們也不須要指定

 

bzip2 1.txt 可直接壓縮

bzip2 -d 1.txt 可直接解壓解壓

bunzip2 1.txt 也可解壓

 

bzip2 -c 1.txt > /tmp/1.txt.bz2 壓縮到指定目錄下,並保留原來的文件

bzip2 -d -c /tmp/1.txt.bz2 > 3.txt 指定解壓目錄,並保留原來的文件

 

bzcat 1.txt 可列出壓縮文件的內容

 

 

實例:

 

壓縮文件:

[root@aminglinux-01 tmp]# du -sh 1.txt 查看大小

1.9M 1.txt

[root@aminglinux-01 tmp]# wc -l 1.txt 查看行數

48624 1.txt

[root@aminglinux-01 tmp]# bzip2 1.txt 開始壓縮

[root@aminglinux-01 tmp]# du -sh 1.txt.bz2 壓縮後同樣會自動修改後綴名

188K 1.txt.bz2 壓縮的更狠

[root@aminglinux-01 tmp]# bzip2 -d 1.txt.bz2 開始解壓

[root@aminglinux-01 tmp]# du -sh 1.txt 查看大小

1.9M 1.txt

[root@aminglinux-01 tmp]# wc -l 1.txt 查看行數

48624 1.txt

 

壓縮和解壓指定目錄:

 

[root@aminglinux-01 tmp]# bzip2 -c /tmp/1.txt > /tmp/d6z/2.txt.bz2 指定壓縮目錄,並修更名字

[root@aminglinux-01 tmp]# du -sh !$ 查看大小

du -sh /tmp/d6z/2.txt.bz2

156K /tmp/d6z/2.txt.bz2

[root@aminglinux-01 tmp]# du -sh 1.txt 查看原始文件大小

1.4M 1.txt

[root@aminglinux-01 tmp]# wc -l 1.txt 查看原始文件行數

36468 1.txt

[root@aminglinux-01 tmp]# file !$ 查看要鎖文件是否壓縮成功

file /tmp/d6z/2.txt.bz2

/tmp/d6z/2.txt: bzip2 compressed data, block size = 900k 成功

[root@aminglinux-01 tmp]# bzip2 -d -c /tmp/d6z/2.txt.bz2 > /tmp/2.txt 指定解壓目錄

[root@aminglinux-01 tmp]# du -sh 2.txt 查看大小

1.4M 2.txt

[root@aminglinux-01 tmp]# wc -l 2.txt 查看行數

36468 2.txt

 

---------------------------------------------------------------------------------------------------------------------------------------

 

6.4 xz壓縮工具:

 

xz比bzip2壓縮的還要狠一下

一樣支持1-9的壓縮級別

不支持壓縮目錄

 

xz 1.txt 壓縮文件

xz -d 解壓文件

unxz 也可解壓

xz -c 1.txt > /tmp/1.txt.xz 指定壓縮目錄,並保留原來的文件

xz -d -c /tmp/1.txt.xz > /tmp/d6z/1.txt 指定解壓目錄,並保留原來的文件

xzcat 可列出這個壓縮文件

實例:

壓縮

[root@aminglinux-01 d6z]# xz 2.txt.out

[root@aminglinux-01 d6z]# ls

2.txt.out.xz

[root@aminglinux-01 d6z]# du -sh 2.txt.out.xz

56K 2.txt.out.xz

[root@aminglinux-01 d6z]# xz -d 2.txt.out.xz

[root@aminglinux-01 d6z]# du -sh 2.txt.out

1.4M 2.txt.out

指定壓縮和解壓目錄:

 

[root@aminglinux-01 d6z]# xz -c /tmp/2.txt > /tmp/d6z/2.txt.xz

[root@aminglinux-01 d6z]# ls !$

ls /tmp/d6z/2.txt.xz

/tmp/d6z/2.txt.xz

[root@aminglinux-01 d6z]# du -sh !$

du -sh /tmp/d6z/2.txt.xz

56K /tmp/d6z/2.txt.xz

[root@aminglinux-01 d6z]# xz -d -c /tmp/d6z/2.txt.xz > /tmp/3.txt

[root@aminglinux-01 d6z]# du -sh !$

du -sh /tmp/3.txt

1.4M /tmp/3.txt

相關文章
相關標籤/搜索