Zip Gzip Bzip2 Tar 的区别和差异

zip gzip bzip2 tar 命令的区别和差异

  • gzipbzip2用于压缩单个文件。bzip2 比 gzip 具有更高的压缩率,同样的也会需要更多更多更多时间来进行压缩。
  • tar格式的包只是将文件归档在一起, 并不会有任何压缩。
  • ziptar 命令用于压缩和归档文件夹。
zip.zip可以压缩目录源文件会保留专门的压缩命令
gzip.gz只能压缩文件压缩后源文件会被删除
bzip2.bz2只能压缩文件-k参数源文件可以保留
tar.tar可以压缩目录源文件会保留linux包大多是这形态
将目录打包成一个文件Tape archive
xz.xz

zip

gzip

gzip程序用于压缩一个或多个文件。执行时,它将原始文件替换为原始文件的压缩版本。使用 gzip 压缩的文件具有扩展名.gz

bzip2

bzip2命令类似于 gzip,但使用不同的压缩算法,以牺牲压缩速度为代价归档更高级别的压缩。使用 bzip2 压缩的文件具有扩展名.bz2

tar

tar命令,首字母缩略词Tape archive用于创建存档文件。tar 存档可以由单独的文件、一个或多个目录层次结构或两者的混合组成。tar 文件有扩展名.tar

xz

xz是一个通用的数据压缩工具,命令行语法类似于 gzip 和 bzip2 。它根据选择的操作模式压缩或解压缩每个文件。用 xz 压缩的文件具有扩展名.xz

Zip 和 Unzip

zip

命令格式

1
zip [-r] [压缩后文件名] [文件或目录]

命令描述

  • zip命令用来对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件;
  • 在linux压缩后的文件,基本都可以在Windows系统中解压;Windows中压缩的文件,在Linux中不一定可用,但是zip格式的压缩文件,可以做到可用;
  • zip的压缩比不是很高;

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
# 压缩文件
$ zip a.zip a.txt
# 查看压缩后的文件
$ ls
a.txt a.zip

# 2. -r:压缩文件夹
$ zip -r test.zip testDir/
$ ls
testDir test.zip

# 3. -x 排除文件
$ zip -r test2.zip testDir/ -x "testDir/hello*" -x "testDir/dir/*"

unzip 解压

命令格式

1
unzip [选项] 文件名

命令描述

unzip命令用于解压缩由zip命令压缩的“.zip”压缩包。

选项

  • -n:解压缩时不要覆盖原有的文件;
  • -o:不必先询问用户,unzip执行后覆盖原有的文件;
  • -d <目录>:指定文件解压缩后所要存储的目录(不指定目录,默认解压到当前目录)

示例

1
2
# 解压文件到家目录
$ unzip test.zip -d ~

Gzip 和 Gunzip

gzip

命令格式

1
gzip [文件]

命令描述

gzip命令 用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。gzip只能压缩文件,不能压缩文件夹,压缩后原文件会被删除

gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

示例

1
2
3
4
5
# 压缩文件
$ gzip a.txt
# 查看压缩后的文件,源文件被删除
$ ls
a.txt.gz

gunzip 解压

命令格式

1
gzip [文件]

命令描述

gunzip命令用来解压缩文件。gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz

示例

1
2
3
4
# 解压文件,解压后压缩文件被删除
$ gunzip a.txt.gz
$ ls
a.txt

Bzip2

bzip2

命令格式

1
bzip2 [选项] [文件]

命令描述

  • bzip2命令用于压缩“.bz2”格式的压缩包,是gzip的升级版本,可以保留原文件;
  • bzip2的压缩比比较高,可用于压缩较大文件的压缩;
  • bzip2也是只对文件进行压缩,如果相对目录进行压缩的话,可以配合 tar命令使用,使用 tar -jcvf 文件名 完成打包压缩。

选项

-k(keep):保留原文件(不删除原文件)

示例

1
2
3
4
5
6
7
8
9
10
# bzip2 压缩文件
$ bzip2 -k a.txt
$ ls
a.txt a.txt.bz2

# 配合使用tar 命令,完成打包压缩
$ mkdir music
$ tar -jcvf music.tar.bz2 music/
$ ls
music music.tar.bz2

bunzip2 解压

命令格式

1
bunzip2 [选项] [文件]

命令描述

  • 解压缩“.bz2”格式的压缩文件;
  • gunzip的升级版,可以使用-k保留原文件;
  • 可以配合使用tar命令,完成解压缩解包: tar -jxvf 文件名

选项

-k(keep):保留原文件(不删除原文件)

示例

1
2
3
4
5
6
7
8
9
10
11
12
$ ls
a.txt.bz2 music.tar.bz2

# 解压缩文件
$ bunzip2 -k a.txt.bz2
$ ls
a.txt a.txt.bz2 music.tar.bz2

# 使用tar完成解压解包
$ tar -jxvf music.tar.bz2
$ ls
a.txt a.txt.bz2 music music.tar.bz2

tar

tar

命令格式

1
tar [选项] [压缩后文件名] [目录]

命令描述

打包目录,将目录打包成一个文件,同时可以压缩,压缩后的拓展名为.tar.gz,这个拓展名在下载Linux相关安装包时很常见。

使用tar命令时,如果想要打包并压缩一个目录,可以有两种方法进行:

  1. 先利用tar命令打包目录为一个文件,然后使用gzip压缩
  2. 直接利用tar命令打包并压缩 (简单方便,推荐使用)

解压时也有两种方式:

  1. 先使用gunzip解压缩,再使用tar解包
  2. 直接利用tar命令解压缩并解包 (简单方便,推荐使用)

选项

  • -c:打包(将所有文件变成一个文件 Create a new archive)
  • -x:解包
  • -v:显示详细信息
  • -f:指定文件名
  • -z:打包同时压缩/解压缩 ,gzip压缩
  • -j:生成压缩文件 ,bzip2压缩

示例

1
2
3
4
# 压缩
tar -zcvf movie2.tar.gz movie
# 解压
tar -zxvf movie2.tar.gz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 1、2为    打包压缩    的两种方法
# 1. 使用 tar -cvf 打包,然后使用gzip压缩
$ tar -cvf movie.tar movie/
$ ls
movie movie.tar
$ gzip movie.tar
$ ls
movie movie.tar.gz

# 2. 使用 tar -zcvf 打包并压缩
$ tar -zcvf movie2.tar.gz movie
$ ls
movie movie2.tar.gz

# 3、4为 解压缩并解包 的两种方法
# 3. 先使用gunzip解压缩,然后 tar -xvf解包
$ gunzip movie.tar.gz
$ ls
movie2.tar.gz movie.tar
$ tar -xvf movie.tar
movie/
$ ls
movie movie2.tar.gz movie.tar

# 4. 使用tar -zxvf 解压缩并解包
$ tar -zxvf movie2.tar.gz
$ ls
movie movie2.tar.gz movie.tar

参考

LPIC 101 – Compress and Uncompress Files Using tar, gzip, bzip2 and xz on Linux

List of archive formats


Zip Gzip Bzip2 Tar 的区别和差异
https://www.oikiou.top/2022/613d8edd/
作者
Oikiou
发布于
2022年9月15日
许可协议