【Linux】一步一步学Linux——bzip2命令(65)

00. 目录

文章目录

    • 00. 目录
    • 01. 命令概述
    • 02. 命令格式
    • 03. 常用选项
    • 04. 参考示例
    • 05. 附录

01. 命令概述

Linux系统中bzip2命令的英文是“bunzip2”,即.bz2文件格式的压缩程序; bzip2命令系统默认是没有安装的,需要安装bzip2库才可以使用此命令。

bzip2命令采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

02. 命令格式

 bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ...  ]

03. 常用选项

-c或——stdout:将压缩与解压缩的结果送到标准输出;
-d或——decompress:执行解压缩;
-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
-h或——help:在线帮助;
-k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;
-s或——small:降低程序执行时内存的使用量;
-t或——test:测试.bz2压缩文件的完整性;
-v或——verbose:压缩或解压缩文件时,显示详细的信息;
-z或——compress:强制执行压缩;
-V或——version:显示版本信息;
--repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果;
--repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。

04. 参考示例

4.1 不保留原文件压缩

[deng@localhost test]$ bzip2 passwd
[deng@localhost test]$ ls
etc  passwd1  passwd.bz2  test
[deng@localhost test]$ 

4.2 保留原文件压缩

[deng@localhost test]$ bzip2 -c passwd  > passwd1.bz2
[deng@localhost test]$ ls
etc  passwd  passwd1.bz2  passwd.bz2  test

4.3 压缩时显示指令执行过程

[deng@localhost test]$ bzip2 -v passwd
  passwd:   2.420:1,  3.306 bits/byte, 58.67% saved, 2376 in, 982 out.
[deng@localhost test]$ 

4.4 将当前目录下每个文件压缩成 .bz2 文件

[deng@localhost test]$ ls
a  b  c  d  e
[deng@localhost test]$ bzip2 * 
[deng@localhost test]$ ls
a.bz2  b.bz2  c.bz2  d.bz2  e.bz2
[deng@localhost test]$ 

**注意:**如果是目录,将被忽略。

4.5 解压.bz2文件,不保留原文件

[deng@localhost test]$ ls
a.bz2  b.bz2  c.bz2  d.bz2  e.bz2
[deng@localhost test]$ bzip2 -d a.bz2 
[deng@localhost test]$ ls
a  b.bz2  c.bz2  d.bz2  e.bz2
[deng@localhost test]$ 

4.6 解压当前目录下所有的.gz文件

[deng@localhost test]$ ls
a  b.bz2  c.bz2  d.bz2  e.bz2
[deng@localhost test]$ bzip2 -d *.bz2
[deng@localhost test]$ ls
a  b  c  d  e
[deng@localhost test]$ 

4.7 保留原文件解压

[deng@localhost test]$ bzip2 -dc passwd.bz2 > passwd

4.8 保留原文件解压到标准输出

[deng@localhost test]$ bzip2 -dc passwd.bz2 

4.9 测试.bz2压缩文件的完整性,实际上不解压

[deng@localhost test]$ bzip2 -tv passwd.bz2 
  passwd.bz2: ok
[deng@localhost test]$ 

4.10 -k保留原文件压缩

[deng@localhost test]$ bzip2 -k passwd
[deng@localhost test]$ ls
etc  passwd  passwd1  passwd.bz2  test
[deng@localhost test]$ 

4.11 压缩-开头的文件

[deng@localhost test]$ touch -- -file 
[deng@localhost test]$ ls
etc  -file  passwd  passwd1  passwd.bz2  test
[deng@localhost test]$ bzip2 -- -file
[deng@localhost test]$ ls
etc  -file.bz2  passwd  passwd1  passwd.bz2  test
[deng@localhost test]$ 

这里主要是为了防止文件名中-产生以为是选项的歧义。

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

你可能感兴趣的:(Linux基础)