您的位置:首页 > 运维架构 > Linux

linux的gzip、bzip2、xz三种压缩使用方法工具介绍

2017-11-09 20:01 816 查看
压缩打包介绍:

常用压缩文件类型:
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三种压缩工具都不支持压缩目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux gzip bzip2