Linux 文件压缩命令

gzip:GNU 压缩工具

gzip 是 GNU 压缩工具,使用 LZ77 算法进行压缩,广泛用于 Unix/Linux 系统中的文件压缩。

gzip [options] [file...]
gunzip [options] [file...]
zcat [file...]

基本选项

选项 全称 描述
-c --stdout 输出到标准输出,保留原文件
-d --decompress 解压缩(等同于 gunzip)
-f --force 强制压缩,覆盖已存在的压缩文件
-h --help 显示帮助信息
-l --list 列出压缩文件的统计信息
-r --recursive 递归处理目录
-t --test 测试压缩文件的完整性
-v --verbose 显示详细信息
-1 ~ -9 设置压缩级别(1最快压缩率最低,9最慢压缩率最高)
--fast 等同于 -1
--best 等同于 -9

相关命令

命令 功能 等效命令
gunzip 解压缩 gzip 文件 gzip -d
zcat 查看压缩文件内容 gunzip -c
zless 分页查看压缩文件内容 gunzip -c | less
zgrep 在压缩文件中搜索文本 gunzip -c | grep
zcmp 比较压缩文件 gunzip -c | cmp
zdiff 比较压缩文件差异 gunzip -c | diff

示例

基本压缩

# 压缩单个文件(原文件会被替换为 .gz 文件)
gzip file.txt
# 结果:file.txt.gz

# 压缩多个文件
gzip file1.txt file2.txt file3.txt
# 结果:file1.txt.gz, file2.txt.gz, file3.txt.gz

基本解压缩

# 解压缩单个文件
gunzip file.txt.gz
# 或
gzip -d file.txt.gz

# 解压缩多个文件
gunzip *.gz

保留原文件的压缩

# 压缩时不删除原文件,并将结果输出到指定文件
gzip -c file.txt > file.txt.gz

递归压缩

# 压缩目录下的所有 .txt 文件
gzip -r /path/to/directory/

# 压缩并显示详细信息
gzip -rv .

压缩级别控制

# 最快压缩(压缩率较低)
gzip -1 largefile.iso

# 最佳压缩(压缩率最高,速度最慢)
gzip -9 important_document.txt

# 默认压缩级别(6)
gzip document.pdf

bzip2:块排序压缩工具

bzip2 使用 Burrows-Wheeler 块排序压缩算法,通常比 gzip 有更高的压缩率,但压缩速度较慢。

bzip2 [options] [file...]
bunzip2 [options] [file...]
bzcat [file...]
bzip2recover [file]

基本选项

选项 全称 描述
-c --stdout 输出到标准输出,保留原文件
-k --keep 压缩后保留原文件
-d --decompress 解压缩(等同于 bunzip2)
-f --force 强制压缩,覆盖已存在的压缩文件
-h --help 显示帮助信息
-t --test 测试压缩文件的完整性
-v --verbose 显示详细信息
-1 ~ -9 设置压缩级别(默认 9)
--fast 等同于 -1
--best 等同于 -9

相关命令

命令 功能 等效命令
bunzip2 解压缩 bzip2 文件 bzip2 -d
bzcat 查看压缩文件内容 bunzip2 -c
bzless 分页查看压缩文件内容 bzcat | less
bzgrep 在压缩文件中搜索文本 bzcat | grep
bzip2recover 尝试恢复损坏的 .bz2 文件
bzcmp 比较压缩文件 bzcat | cmp
bzdiff 比较压缩文件差异 bzcat | diff

示例

基本压缩

# 压缩单个文件(默认保留原文件)
bzip2 file.txt
# 结果:file.txt.bz2

# 压缩并删除原文件(-f 强制)
bzip2 -f large_file.dat

# 压缩多个文件
bzip2 file1.txt file2.txt file3.txt

基本解压缩

# 解压缩单个文件
bunzip2 file.txt.bz2
# 或
bzip2 -d file.txt.bz2

# 解压缩多个文件
bunzip2 *.bz2

保留原文件的压缩

# bzip2 默认保留原文件,也可使用 -k 选项
bzip2 -k important.txt
# 结果:同时存在 important.txt 和 important.txt.bz2

# 如果不保留原文件
bzip2 -f document.pdf

查看压缩文件内容

# 直接查看压缩文本文件
bzcat file.txt.bz2

# 分页查看
bzless large_file.txt.bz2

# 搜索压缩文件内容
bzgrep "error" logfile.bz2

# 查看压缩文件的尾部
bzcat access.log.bz2 | tail -100

压缩级别控制

# 最快压缩(压缩率较低)
bzip2 -1 temporary_file.tmp

# 最佳压缩(默认,压缩率最高)
bzip2 -9 archive.tar

# 中等压缩级别
bzip2 -5 data.csv

gzip 与 bzip2 对比

特性 gzip bzip2
压缩算法 LZ77 + Huffman 编码 Burrows-Wheeler 变换
压缩速度 较快 较慢
解压速度 很快 较慢
压缩率 一般 较高
内存使用 较少 较多
文件扩展名 .gz .bz2
保留原文件 默认不保留(需 -c) 默认保留(有 -k 选项)
适用场景 实时压缩、网络传输 长期存储、备份
恢复工具 无专用恢复工具 有 bzip2recover

重要提示

不要重复压缩已压缩的文件。

# 图片已经是压缩格式,再压缩只会增加文件大小
bzip2 picture.jpg  

对于已经是压缩格式的文件(jpg, png, mp3, mp4, pdf等),应该直接存储,不要需要再次压缩。对于文本文件、日志文件、源代码等,使用压缩可以获得很好的效果。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容