Linux常用命令之文件压缩与解压缩命令详解

今天我们继续为大家带来Linux常用命令的文件压缩解压命令。在Linux中,制作压缩包或者解压是我们日后最常见的日常文件操作了。在Linux系统中,压缩解压命令其实并不难,但是里面有一些细节是需要我们注意的。Linux压缩格式有很多中,我们掌握好常见的几种压缩格式就足够了。

1、gzip 压缩命令解释

  • 命令名称:gzip
  • 命令英文:GNU zip
  • 命令所在路径: /bin/gzip
  • 执行权限:所有用户
  • 命令功能:压缩文件
  • 语法:gzip 选项[文件]
  • 压缩后文件格式:.gz

.gz格式我们比较常见,比如在系统里面按照软件包的时候,很多都是这个格式。

使用举例

比如我们test目录下有个 file3的文件,将其压缩成 .gz 格式:

$ gzip file3

Linux常用命令之文件压缩与解压缩命令详解

可以看到,在目录中立马生成了一个 file3.gz 的压缩包文件,但是源文件 file3 不见了。gzip 命令有几点大家要记住:

  1. 它只能压缩文件,不能压缩目录
  2. 不保留源文件

我们要解压缩 .gz 的文件,可以使用 -d 参数:

$ gzip -d file3.gz

Linux常用命令之文件压缩与解压缩命令详解

解压 .gz文件我们还有个专门的命令: gunzip

2、gunzip 解压.gz格式命令解释

  • 命令名称:gunzip
  • 命令英文:GNU unzip
  • 命令所在路径: /bin/gunzip
  • 执行权限:所有用户
  • 命令功能:解压.gz的压缩包文件
  • 语法:gunzip 选项[压缩文件]

使用举例

接上一个例子,我们解压 file3.gz文件:

$ gunzip file3.gz

Linux常用命令之文件压缩与解压缩命令详解

解压出来之后,压缩包源文件同样没有保留了。

既然 gzip 不能压缩目录,那么自然有另外一个命令 tar可以用来压缩目录。

3、tar 压缩命令解释

  • 命令名称:tar
  • 命令所在路径: /bin/tar
  • 执行权限:所有用户
  • 命令功能:打包目录
  • 压缩后文件格式:.tar.gz
  • 语法:tar 选项[cvf] [目录]
    • -c 产生.tar打包文件
    • -v 显示详细信息
    • -f 指定压缩后的文件名
    • -z 打包同时压缩

使用举例

比如我目录下面有个test2的目录,现在要打包并压缩成.tar.gz文件:

$ tar -zcf test2.tar.gz test2
大家注意,我们要先指定文件名,再指定要打包的目录,而且打包完成之后,源文件还在。

Linux常用命令之文件压缩与解压缩命令详解

解压 .tar.gz 文件

  • 语法:tar 选项[xvf] [压缩包文件]
    • -x 解包.tar文件
    • -v 显示详细信息
    • -f 指定解压的文件
    • -z 解压缩

$ tar -zxf test2.tar.gz

4、zip 压缩命令解释

  • 命令名称:zip
  • 命令所在路径: /usr/bin/zip
  • 执行权限:所有用户
  • 命令功能:压缩文件或目录
  • 压缩后文件格式:.zip
  • 语法:zip 选项[-r] [压缩后的文件名称] [文件或目录]

使用举例

  • 比如我test/目录下面有个 file3文件,想压缩成 me.zip文件到/mnt目录:

$ zip /mnt/me.zip file3

Linux常用命令之文件压缩与解压缩命令详解

可以看到,执行命令之后,在我的/mnt目录生成了一个me.zip文件,注意:zip命令也会保留源文件。

  • 压缩目录:压缩目录和压缩文件差不多,只是多了一个 -r 参数。

$ zip -r test.zip test

Linux常用命令之文件压缩与解压缩命令详解

提示:.zip 格式是默认windows系统和Linux系统唯一通用的格式。

5、unzip 解压缩命令解释

  • 命令名称:unzip
  • 命令所在路径: /usr/bin/unzip
  • 执行权限:所有用户
  • 命令功能:解压.zip格式的压缩文件
  • 语法:unzip [选项] [压缩文件名称]

使用举例

  • 比如把我们刚才生成的me.zip文件解压:

$ unzip me.zip
Linux常用命令之文件压缩与解压缩命令详解

  • 把我们刚才生成的test.zip 文件解压:

$ unzip test.zip

Linux常用命令之文件压缩与解压缩命令详解

大家可以注意到,执行命令之后,在命令行提示是否覆盖已有的文件,我们根据自己的需要输入即可。有的同学就问,我不想要它提示,只要出现同名的文件就自动覆盖,该如何执行呢?我们加一个 -o 的参数即可:

unzip -o test.zip

6、bzip2 解压缩命令解释

  • 命令名称:bzip2
  • 命令所在路径: /usr/bin/bzip2
  • 执行权限:所有用户
  • 命令功能:压缩文件
  • 压缩后文件格式:.bz2
  • 语法:bzip2 [选项]-k [文件]
    • -k 产生压缩文件后保留原文件

其实大家可以理解bzip2gzip是升级版,因为他和gzip差不多,也只能压缩文件,不过多了一个选项-k 是否保留原文件,而且它的压缩比很高,因此比较适合压缩大型的文件。

使用举例

比如把当前目录下的file3文件压缩成 .bz2文件,并且保留原文件:

$ bzip2 -k file3

Linux常用命令之文件压缩与解压缩命令详解

7、bunzip2 解压缩命令解释

  • 命令名称:bunzip2
  • 命令所在路径: /usr/bin/bunzip2
  • 执行权限:所有用户
  • 命令功能:压缩bz2文件
  • 语法:bunzip2 [选项]-k [压缩文件]
    • -k 产生压缩文件后保留原文件

使用举例

比如把当前目录下的file3.bz2压缩包解压,并且保留原压缩文件:

$ bunzip2 -k file3.bz2

今天我们学习了在Linux系统中如何压缩和解压缩文件,总体来说,我们只要掌握.gz.tar.gz.zip.bz2这四种格式压缩和解压缩就可以了。

Linux常用命令之文件压缩与解压缩命令详解