linux学习第十九篇:压缩介绍,gzip,bzip2,xz压缩工具

本文介绍了Linux环境下常用的压缩工具,包括gzip、bzip2和xz,详细讲解了它们的压缩原理、压缩强度及命令使用方法,并对比了不同工具的压缩效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • file命令可查看文件是压缩文件或者test文件等,如file 1.txt 可查看1.txt是什么类型的文件

linux压缩打包介绍

在windows下我们接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件了。它不仅能节省磁盘空间而且在传输的时候还能节省网络带宽。
在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip, .tar.xz, .tar.bz2等等。以前也介绍过linux系统中的后缀名其实要不要无所谓,但是对于压缩文件来讲必须要带上。这是为了判断压缩文件是由哪种压缩工具所压缩,而后才能去正确的解压缩这个文件。以下介绍常见的后缀名所对应的压缩工具。

.gz gzip 压缩工具压缩的文件

.bz2 bzip2 压缩工具压缩的文件

.tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)

.tar.gz 可以理解为先用tar打包,然后再gzip压缩

.tar.bz2 同上,先用tar打包,然后再bzip2压缩

.

gzip压缩工具

语法命令:
gzip 1.txt //压缩文件1.txt。gzip 是不支持压缩目录的。

gzip -d 1.txt.gz //-d 解压压缩包1.txt.gz
gunzip 1.txt.gz //解压压缩包1.txt.gz

gzip -# 1.txt //# 为压缩等级,1压缩最差,9压缩最好,6为默认,压缩得越好耗费的CPU资源越大。平时很少用,使用默认压缩级别足够了。

file 1.txt.gz //查看压缩文件里有什么文件

zcat 1.txt.gz //查看压缩文件里的内容,先解压再cat查看

gzip -c 1.txt > /tmp/1.txt.gz //生成一个压缩文件1.txt.gz在/tmp目录下,源文件1.txt还是存在。

gzip -d -c /tmp/1.txt.gz > /tmp/2.txt //源压缩文件1.txt.gz不变,再解压缩1.txt到/tmp下并改名2.txt

[root@xie-02 zzz]# du -sh 1.txt   
2.3M    1.txt
[root@xie-02 zzz]# wc -l 1.txt 
35735 1.txt
[root@xie-02 zzz]# gzip 1.txt   //压缩文件
[root@xie-02 zzz]# ls
1.txt.gz
[root@xie-02 zzz]# du -sh 1.txt.gz //压缩后的文件大小
360K    1.txt.gz
[root@xie-02 zzz]# gzip -d 1.txt.gz //解压文件
[root@xie-02 zzz]# 
[root@xie-02 zzz]# du -sh 1.txt     //由原本的2.3M解压后变成1.4M是因为原本的2.3M是虚的,没有那么大,压缩后把虚的那些空间挤掉,所以实际上的大小为1.4M
1.4M    1.txt
[root@xie-02 zzz]# wc -l 1.txt   //大小跟原来没压缩前一样是35735行没有变化,更能证明之前的2.3M是虚的,实际是1.4M
35735 1.txt
[root@xie-02 zzz]# gzip -1 1.txt //最差的压缩等级1
[root@xie-02 zzz]# du -sh 1.txt.gz 
424K    1.txt.gz
[root@xie-02 zzz]# gzip -d 1.txt.gz 
[root@xie-02 zzz]# gzip -9 1.txt //最好的压缩等级9
[root@xie-02 zzz]# du -sh 1.txt.gz 
356K    1.txt.gz

bzip2压缩工具

bzip2比gzip压缩得更狠,但也意味着耗费的cpu资源也越多。

bzip2 1.txt //压缩文件1.txt。bzip2 是不支持压缩目录的。
bzip2 -z 1.txt //压缩文件1.txt,同上

bzip2 -d 1.txt.bz2 //-d 解压压缩包1.txt.bz2
bunzip2 1.txt.bz2 //解压压缩包1.txt.bz2

bzip -# 1.txt //#范围1-9,默认9

file 1.txt.bz2 //查看压缩文件里有什么文件

bzcat 1.txt.bz2 //查看压缩文件里的内容,先解压再cat查看

bzip2 -c 1.txt > /tmp/1.txt.bz2 //生成一个压缩文件1.txt.bz2在/tmp目录下,源文件1.txt还是存在。

bzip2 -c -d /tmp/1.txt.bz2 > /tmp/2.txt //源压缩文件1.txt.bz2不变,再解压缩1.txt到/tmp下并改名2.txt

[root@xie-02 zzz]# du -sh 1.txt 2.txt 
1.4M    1.txt
1.4M    2.txt
[root@xie-02 zzz]# gzip 1.txt 
[root@xie-02 zzz]# bzip2 2.txt 
[root@xie-02 zzz]# ls
1.txt.gz  2.txt.bz2
[root@xie-02 zzz]# du -sh 1.txt.gz 2.txt.bz2   //bzip2压缩程度比gzip更强
360K    1.txt.gz
172K    2.txt.bz2

xz压缩工具

bzip2比gzip压缩得更狠,而xz比bzip2压缩得更狠。但也意味着耗费的cpu资源也越多。
所以压缩q强度上xz>bzip>gzip,但不是绝对的,有些文件可能适合其中一种。

xz 1.txt // 压缩文件1.txt。xz 是不支持压缩目录的。
xz -z 1.txt //压缩文件1.txt,同上

xz -d 1.txt.xz // -d 解压压缩包1.txt.xz
unxz 1.txt.xz //解压压缩包1.txt.xz

xz -# 1.txt //#范围1-9,默认6

file 1.txt.xz //查看压缩文件里有什么文件

xzcat 1.txt.xz //查看压缩文件里的内容,先解压再cat查看

xz -c 1.txt > /tmp/1.txt.xz //生成一个压缩文件1.txt.xz在/tmp目录下,源文件1.txt还是存在。

xz -d -c /tmp/1.txt.xz > 2.txt //源压缩文件1.txt.xz不变,再解压缩1.txt到/tmp下并改名2.txt

[root@xie-02 zzz]# du -sh 1.txt 2.txt 
1.4M    1.txt
1.4M    2.txt
[root@xie-02 zzz]# bzip2 1.txt 
[root@xie-02 zzz]# xz 2.txt 
[root@xie-02 zzz]# ls
1.txt.bz2  2.txt.xz
[root@xie-02 zzz]# du -sh 1.txt.bz2 2.txt.xz 
172K    1.txt.bz2
64K     2.txt.xz
### 如何下载并安装 bzip2 #### 下载 bzip2 工具 可以从官方站点获取 bzip2压缩包。以下是具体的下载方法: 访问官方网站 `http://www.bzip.org/downloads.html` 或者 SourceForge 提供的链接 `https://sourceforge.net/projects/bzip2/files/`,选择适合的版本进行下载[^5]。例如,可以选择稳定版 1.0.6 版本。 命令行方式可以使用如下指令完成下载: ```bash wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz ``` #### 安装 bzip2 工具 如果需要通过源码手动安装,则按照以下流程操作: 1. **解压文件** 使用 tar 命令来解压已下载的 `.tar.gz` 文件到指定路径下: ```bash tar -zxvf bzip2-1.0.6.tar.gz -C /opt/modules/Bzip2/ ``` 2. **进入解压后的目录** 进入刚刚创建好的解压目录执行后续编译工作: ```bash cd /opt/modules/Bzip2/bzip2-1.0.6 ``` 3. **构建动态库** 执行特定的 Makefile 来生成共享库文件: ```bash make -f Makefile-libbz2_so ``` 4. **正式编译与安装** 正常情况下运行标准的 `make && make install` 即可完成整个软件的部署过程: ```bash make && make install ``` 以上步骤适用于 CentOS 并基于引用中的描述进行了补充说明[^2]。 另外,在某些场景下可以直接利用 YUM 包管理器快速实现相同目标而无需经历繁琐的手动配置阶段: ```bash yum install bzip2 ``` 此法简单高效,推荐给追求便捷性的用户群体采用[^3]。 ### 验证安装成功与否 可以通过简单的测试验证是否正确无误地完成了上述全部环节的工作成果展示部分——即尝试调用该程序查看其帮助文档或者处理某个实际存在的数据样本实例等等动作行为表现形式之一便是输入下面这条语句看看有没有返回预期的结果集列表项内容出来吧? ```bash bzip2 --help ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值