【压缩扩展名】
在 Linux 环境中,支持的压缩命令很多,且不同命令所采用的压缩技术不同,彼此之间可能就无法相互压缩/解压缩文件
常见的压缩文件扩展名如下表:
| 扩展名 | 文件 |
|---|---|
| *.Z | compress 程序压缩的文件,目前已弃用 |
| *.gz | gzip 程序压缩的文件 |
| *.bz2 | bzip2 程序压缩的文件 |
| *.tar | tar 程序打包的数据,未压缩 |
| *.tar.gz | tar 程序打包的数据,经过 gzip 压缩 |
| *.tar.bz2 | tar 程序打包的数据,经过 bzip2 压缩 |
【gzip 与 zcat】
gzip 命令是目前最常用的压缩命令,可以解开 compress、zip、gzip 等软件所压缩的文件,命令格式为:gzip [选项] 文件名
常用选项有:
- -c:将压缩的数据输出到屏幕上,可通过数据流重定向处理
- -d:解压缩
- -t:检验压缩文件的一致性
- -v:显示原文件/压缩文件的压缩比等信息
- -#:压缩等级,-1 最快,但压缩比最差,-9 最慢,但压缩比最好,默认为 -6
当使用 gzip 压缩时,默认状态下原本的文件会被压缩为后缀为 .gz 的文件
cat 命令可以读取纯文本文件,而 zcat 命令可以读取纯文本被压缩后的压缩文件

【bzip2 与 bzcat】
gzip 是为了替代 compress 并提供更好的压缩比而创造的,bzip2 则是为了取代 gzip 而创造的,命令格式为:bzip2 [选项] 文件名
常用的选项有:
- -c:将压缩过程中产生的数据输出到屏幕上
- -d:解压缩
- -k:保留原文件,不删除原始的数据文件
- -z:压缩
- -v:显示原文件/压缩文件的压缩比等信息
- -#:压缩等级,-1 最快,但压缩比最差,-9 最慢,但压缩比最好,默认为 -6
与 gzip 命令和 zcat 命令一样,使用 bzcat 可以读取纯文本被 bzip2 压缩后的压缩文件

【tar 命令】
文件打包
使用 gzip 或 zip2 只能对单个文件进行压缩,若是对目录进行操作,这两个命令会将目录内的所有文件分别进行压缩
若想将多个文件或目录压缩成一个文件,需要先使用 tar 命令进行打包,打包后再使用 gzip 或 bzip2 进行压缩
打包与压缩
命令格式:tar [-z|-j] [cv] [-f 新建文件名] 要压缩的文件名或目录名 [--exclude=FILE]
- -z:采用 gzip 进行压缩,此时新建文件名最好为
*.tar.gz形式 - -j:采用 bzip2 进行压缩,此时新建文件名最好为
*.tar.bz2形式 - -c:新建打包文件
- -v:在压缩/解压缩过程中,将正在处理的文件名显示出来
- —exclude=FILE:在打包某目录时,排除该目录中的 FILE 所指示的文件
一般来说,最简单的使用 tar 进行打包压缩的命令是:tar -jcv -f 新建文件名 要压缩的文件名或目录名

查看文件
要想查看使用 tar 打包并压缩后的文件中包含哪些文件,可以使用命令:tar [-z|-j] [tv] [-f 要查看的文件名]
- -z:采用 gzip 进行压缩,此时新建文件名最好为
*.tar.gz形式 - -j:采用 bzip2 进行压缩,此时新建文件名最好为
*.tar.bz2形式 - -t:查看打包文件的内容所包含的文件名
- -v:在压缩/解压缩过程中,将正在处理的文件名显示出来
一般来说,最简单的使用 tar 进行查看文件的命令是:tar -jtv -f 要查看的文件名

解压缩
命令格式:tar [-z|-j] [xv] [-f 要解压文件名] [-C 目录]
- -z:采用 gzip 进行压缩,此时新建文件名最好为
*.tar.gz形式 - -j:采用 bzip2 进行压缩,此时新建文件名最好为
*.tar.bz2形式 - -x:解包或解压缩,可搭配 -C 在特定目录展开
- -v:在压缩/解压缩过程中,将正在处理的文件名显示出来
一般来说,最简单的使用 tar 进行解压缩文件的命令是:tar -jxv -f 要解压文件名 —C 要解压的目录
