Linux 命令(文件和目录管理 - bzip2/bunzip2)

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

bzip2 是 Linux 下一款压缩软件,能够高效地完成文件数据的压缩,支持现在大多数的压缩格式,包括 tar、gzip 等。若没有加上任何参数,bzip2 压缩完文件后会产生 .bz2 的压缩文件,并删除原始文件。bzip2 比传统的 gzip 或 zip 的压缩效率更高,但是它的压缩速度较慢。bzip2 只是一个数据压缩工具,而不是归档工具,在这一点上与 gzip 类似。

gzip

命令介绍

  • 命令名称
    bzip2

  • 基本语法
    bzip2 [OPTION]… [FILE]…

  • 功能描述
    压缩文件。压缩后的文件扩展名为 .bz2,默认压缩后会删除原文件。

命令选项

选项说明
-h --help显示帮助
-d --decompress执行解压缩
-z --compress强制执行压缩
-k --keep压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数。 
-f --force压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件。若要覆盖,请使用此参数。
-t, --test检查压缩文件的完整性
-c, --stdout将压缩与解压缩的结果输出到标准输出设备
-q, --quiet不显示错误信息
-v, --verbose压缩或解压缩文件时,显示详细信息
-L --license显示版本信息和许可
-V --version显示版本信息和许可
-s --small降低程序执行时内存的使用量(最多2500 k)
-1(或 --fast) .. -9(或 --best)设置块大小为 100k …900k
--repetitive-best若文件中有重复出现的资料时,可利用此参数提高压缩效果。
--repetitive-fast若文件中有重复出现的资料时,可利用此参数加快执行速度。

使用范例

1.压缩文件,压缩后原文件被删除

[wang@localhost linux]$ ls -l
总用量 33132
-rw-rw-r--. 1 wang wang       31 929 11:03 hello.sh
-rw-r--r--. 1 wang wang 33921784 67 11:02 linux-program.pdf
[wang@localhost linux]$ bzip2 hello.sh 
[wang@localhost linux]$ ls -l
总用量 33132
-rw-rw-r--. 1 wang wang       72 929 11:03 hello.sh.bz2
-rw-r--r--. 1 wang wang 33921784 67 11:02 linux-program.pdf

2.压缩后,保留原文件

# 计算压缩后文件的 md5 值
[wang@localhost linux]$ bzip2 hello.sh 
[wang@localhost linux]$ md5sum hello.sh.bz2 
39a9623f5ddb0ecbc4f3cee2fdd9245e  hello.sh.bz2
# 解压缩(还原回去)
[wang@localhost linux]$ bunzip2 hello.sh.bz2 
# 如果要保留原文件,使用下面命令
[wang@localhost linux]$ bzip2 -k hello.sh 
[wang@localhost linux]$ ls
hello.sh  hello.sh.bz2  linux-program.pdf
[wang@localhost linux]$ md5sum hello.sh.bz2 
39a9623f5ddb0ecbc4f3cee2fdd9245e  hello.sh.bz2

显然,校验 md5 值,和直接使用 bzip2 一致。

3.压缩时,显示详细信息

[wang@localhost linux]$ bzip2 -v hello.sh 
  hello.sh:  0.431:1, 18.581 bits/byte, -132.26% saved, 31 in, 72 out.
[wang@localhost linux]$ ls -l
总用量 33132
-rw-rw-r--. 1 wang wang       72 929 11:03 hello.sh.bz2
-rw-r--r--. 1 wang wang 33921784 67 11:02 linux-program.pdf

4.解压缩

[wang@localhost linux]$ bzip2 hello.sh 
[wang@localhost linux]$ ls
hello.sh.bz2  linux-program.pdf
[wang@localhost linux]$ bzip2 -d hello.sh.bz2 
[wang@localhost linux]$ ls
hello.sh  linux-program.pdf

5.解压到标准输出

使用 -c 选项指定到标准输出,输出的是文件 hello.sh 的内容,不会将 hello.sh.bz2 删除。

[wang@localhost linux]$ bzip2 -dc hello.sh.bz2 
#!/bin/sh

echo "Hello World!"
[wang@localhost linux]$ ls
hello.sh.bz2  linux-program.pdf

bunzip2

命令介绍

  • 命令名称
    bunzip2

  • 基本语法
    bunzip2 [OPTION]… [FILE]…

  • 功能描述
    解压缩文件

命令选项

选项说明
-k --keep压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数。 
-f --force压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件。若要覆盖,请使用此参数。
-v, --verbose压缩或解压缩文件时,显示详细信息
-s --small降低程序执行时内存的使用量(最多2500 k)
-1(或 --fast) .. -9(或 --best)设置块大小为 100k …900k

使用范例

1.解压缩文件

[wang@localhost linux]$ ls
hello.sh.bz2  linux-program.pdf
[wang@localhost linux]$ bunzip2 hello.sh.bz2 
[wang@localhost linux]$ ls
hello.sh  linux-program.pdf

2.解压缩时,显示详细信息

[wang@localhost linux]$ bunzip2 -v hello.sh.bz2 
  hello.sh.bz2: done
[wang@localhost linux]$ ls
hello.sh  linux-program.pdf

3.解压到标准输出

[wang@localhost linux]$ bunzip2 -c hello.sh.bz2 
#!/bin/sh

echo "Hello World!"
[wang@localhost linux]$ ls
hello.sh.bz2  linux-program.pdf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一去丶二三里

有收获,再打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值