1. 程式人生 > >linux的gzip、bzip2、xz三種壓縮使用方法工具介紹

linux的gzip、bzip2、xz三種壓縮使用方法工具介紹

linux bzip2 gzip xz

壓縮打包介紹:


常用壓縮文件類型:

1、windows:.rar/.zip/.7z

2、linux:.zip/.gz/.bz2/.xz/.tar/.gz/.tar/.bz2/.tar/.xz


gzip壓縮工具:


1、實驗,cd到/tmp目錄下,使用mkdi創建一個目錄d6z,在cd到d6z目錄下創建一個文本1.txt,文本裏面放入些內容,把空間加大,然後使用命令gzip壓縮及解壓縮過程。


實驗操作如下:

[root@aminglinux-01 ~]# cd /tmp/      //先進入tmp目錄
[root@aminglinux-01 tmp]# ls         //查看目錄下文件
1.txt
1.txt.gz
aming.111
aming2
d6z
systemd-private-1a62fa1d021142a6a2c4311398e07768-vmtoolsd.service-jCwQlr
systemd-private-6260bb09272b40ea93af94debf4ed36d-vmtoolsd.service-IeBkCT
systemd-private-75856aca996746b1b43ad52689f8adf1-vmtoolsd.service-ffIeti
systemd-private-d7366ef92190425097a68c22ada7a3b0-vmtoolsd.service-lZzsPV
test
yum.log
[root@aminglinux-01 d6z]# gzip 1.txt         //把文本壓縮
[root@aminglinux-01 d6z]# ls                    //查看文件
1.txt.gz
[root@aminglinux-01 d6z]# du -sh 1.txt.gz        //查看壓縮包大小
332K	1.txt.gz
[root@aminglinux-01 d6z]# gzip -d 1.txt.gz             //解壓壓縮包
[root@aminglinux-01 d6z]# du -sh 1.txt             //解壓後查看文件大小
1.3M	1.txt
[root@aminglinux-01 d6z]# gzip -1 1.txt   //-1是指壓縮級別,範圍1-9,默認級別是6
[root@aminglinux-01 d6z]# du -sh 1.txt.gz   //更改壓縮級別後文件變大了
392K	1.txt.gz
[root@aminglinux-01 d6z]# file 1.txt.gz         //查看壓縮文件信息
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Tue Nov  7 19:38:56 2017, max speed
[root@aminglinux-01 d6z]# zcat 1.txt.gz        //查看壓縮文件內容信息
2、壓縮文件時不替換舊文本,直接生成一個新的壓縮文件到指定目錄下,在把壓縮文件解壓成一個新的文本命名文件。操作如下:
[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]# file !$                           //使用file命令查看壓縮文件信息
file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Tue Nov  7 19:38:56 2017
[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 1.txt 2.txt
32400 1.txt
32400 2.txt
64800 總用量
[root@aminglinux-01 d6z]# du -sh *.txt
1.3M	1.txt
1.3M	2.txt


bzip2壓縮工具:


1、安裝bzip2工具yum install -y bzip2

2、實驗,創建一個文本1.txt,使用bzip2壓縮,查看壓縮後的文件大小,再解壓文件,然後再壓縮文本,使用另外一種方式buzip2解壓。


實驗操作如下:

[root@aminglinux-01 d6z]# ls           //查看目錄下文件
1.txt  2.txt
[root@aminglinux-01 d6z]# bzip2 1.txt         //壓縮文件1.txt
[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt
[root@aminglinux-01 d6z]# du -sh 1.txt.bz2       //查看文件壓縮後大小
160K	1.txt.bz2
[root@aminglinux-01 d6z]# bzip2 -d 1.txt.bz2    //解壓文件
[root@aminglinux-01 d6z]# ls
1.txt  2.txt
[root@aminglinux-01 d6z]# bzip2 1.txt                //再壓縮
[root@aminglinux-01 d6z]# bunzip2 1.txt.bz2    //換一種方式解壓

3、使用bzip2 -c操作,與gzip一樣,可以指定壓縮到目錄下及解壓成一個新的文本,bzip2也一樣有壓縮級別,默認級別是9,可以使用file命令查看文件信息

[root@aminglinux-01 d6z]# bzip2 -c 1.txt > /tmp/1.txt.bz2     //保留原來文件,並壓縮文件到指定目錄
[root@aminglinux-01 d6z]# du -sh /tmp/1.txt.bz2
160K	/tmp/1.txt.bz2
[root@aminglinux-01 d6z]# bzip2 -d -c /tmp/1.txt.bz2 > 3.txt     //解壓縮生成一個新的文本,並指定解壓到哪個目錄,並保留壓縮文件。
[root@aminglinux-01 d6z]# ls
1.txt  2.txt  3.txt
[root@aminglinux-01 d6z]# du -sh 3.txt
1.3M	3.txt
[root@aminglinux-01 d6z]# bzip2 -9 1.txt       //指定級別壓縮,默認是9
[root@aminglinux-01 d6z]# du -sh 1.txt.bz2
160K	1.txt.bz2
[root@aminglinux-01 d6z]# file 1.txt.bz2          //使用file命令查看壓縮文件信息
1.txt.bz2: bzip2 compressed data, block size = 900k
[root@aminglinux-01 d6z]# bzcat 1.txt.bz2             //直接查看壓縮文件1.txt.bz2 內容信息

問題:假設如果把一個壓縮文件的名字改錯了應該如何操作?

[root@aminglinux-01 d6z]# ls            //查看目錄下文件
1.txt.bz2  2.txt  3.txt
[root@aminglinux-01 d6z]# mv 1.txt.bz2 1.txt       //故意更改壓縮文件名為1.txt
[root@aminglinux-01 d6z]# ls
1.txt  2.txt  3.txt
[root@aminglinux-01 d6z]# less 1.txt                //使用less查看1.txt時報錯
"1.txt" may be a binary file.  See it anyway?
[root@aminglinux-01 d6z]# file 1.txt              //如果出現這種問題時可以使用file命令查看文本1.txt
1.txt: bzip2 compressed data, block size = 900k
[root@aminglinux-01 d6z]# file 2.txt             //驗證查看,告訴你這是一個文本文件,可以直接使用less 2.txt查看
2.txt: C source, UTF-8 Unicode text, with very long lines
[root@aminglinux-01 d6z]# mv 1.txt 1.txt.bz2     //實驗完成,更正之前改錯的文件
[root@aminglinux-01 d6z]# ls                     //回歸正常
1.txt.bz2  2.txt  3.txt


xz壓縮工具:


1、xz壓縮工具命令操作用法與gzip及bzip2一樣。


實驗操作如下:

[root@aminglinux-01 d6z]# ls
1.txt.bz2  2.txt  3.txt
[root@aminglinux-01 d6z]# xz 2.txt              //壓縮文件成xz
[root@aminglinux-01 d6z]# du -sh 2.txt.xz
60K	2.txt.xz
[root@aminglinux-01 d6z]# du -sh 3.txt
1.3M	3.txt
[root@aminglinux-01 d6z]# xz -d 2.txt.xz    //解壓
[root@aminglinux-01 d6z]# xz 2.txt              //壓縮
[root@aminglinux-01 d6z]# unxz 2.txt.xz      //另一種方式解壓
[root@aminglinux-01 d6z]# xz -c 2.txt > /tmp/2.txt.xz    //保留原來文件,並壓縮文件到指定目錄
[root@aminglinux-01 d6z]# xz -d -c /tmp/2.txt.xz > ./4.txt  //解壓縮生成一個新的文本,並指定解壓到哪個目錄,並保留壓縮文件。
[root@aminglinux-01 d6z]# xzcat /tmp/2.txt.xz   //直接查看壓縮文件1.txt.bz2 內容信息

補充知識點:gzip、bzip2、xz三種壓縮工具都不支持壓縮目錄


本文出自 “Gary博客” 博客,請務必保留此出處http://taoxie.blog.51cto.com/10245493/1980412

linux的gzip、bzip2、xz三種壓縮使用方法工具介紹