---
author: Himanshu Arora
category: 技术
comments_data: []
count:
  commentnum: 0
  favtimes: 1
  likes: 0
  sharetimes: 0
  viewnum: 9307
date: '2018-04-15 21:26:00'
editorchoice: false
excerpt: 在本文中，我们会使用一些简单、易于理解的例子来解释 gunzip 命令的用法。
fromurl: https://www.howtoforge.com/linux-gunzip-command/
id: 9549
islctt: true
largepic: /images/p/201804/15/212640jqqkkiqqnonu2fqm.jpg
permalink: /article-9549-1.html
pic: /images/p/201804/15/212640jqqkkiqqnonu2fqm.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 在本文中，我们会使用一些简单、易于理解的例子来解释 gunzip 命令的用法。
tags:
- gzip
- gunzip
thumb: false
title: 用示例讲解 Linux gunzip 命令
titlepic: true
translator: erialin
updated: '2018-04-15 21:26:00'
---

![](/images/p/201804/15/212640jqqkkiqqnonu2fqm.jpg)


我们已经讨论过 [Linux 下 gzip 命令的用法](https://www.howtoforge.com/linux-gzip-command/)。对于初学者来说，`gzip` 工具主要用于压缩或者展开文件。解压时，在 `gzip` 命令后添加 `-d` 选项即可，使用示例如下：



```
gzip -d [compressed-file-name]

```

不过，在解压或扩展 gzip 创建的压缩文件时，有另一款完全不同的工具可供使用。谈及的这款工具就是 `gunzip`。在本文中，我们会使用一些简单、易于理解的例子来解释 `gunzip` 命令的用法。文中所有示例及指南都在 Ubuntu 16.04 环境下测试。


### Linux gunzip 命令


我们现在知道压缩文件可以用 `gzip -d` 或 `gunzip` 命令解压。基本的 `gunzip` 语法为：



```
gunzip [compressed-file-name]

```

以下的 Q&A 例子将更清晰地展示 `gunzip` 工具如何工作：


### Q1. 如何使用 gunzip 解压压缩文件？


解压命令非常简单，仅仅需要将压缩文件名称作为参数传递到 `gunzip` 命令后。



```
gunzip [archive-name]

```

比如：



```
gunzip file1.gz

```

[![如何使用 gunzip 解压压缩文件？](/images/p/201804/15/212653typvantzntmvpptj.png)](https://www.howtoforge.com/images/linux_gunzip_command/big/gunzip-basic-usage.png)


### Q2. 如何让 gunzip 不删除原始压缩文件？


正如你已注意到的那样，`gunzip` 命令解压后会删除原始压缩文件。如果你想保留原始压缩文件，可以使用 `-c` 选项。



```
gunzip -c [archive-name] > [outputfile-name]

```

比如：



```
gunzip -c file1.gz > file1

```

[![如何让 gunzip 不删除原始压缩文件？](/images/p/201804/15/212654mab33srbbs7r71s7.png)](https://www.howtoforge.com/images/linux_gunzip_command/big/gunzip-c.png)


使用这种方式，原压缩文件不会被删除。


### Q3. 如何用 gunzip 解压文件到其他路径？


在 Q&A 中我们已经讨论过 `-c` 选项的用法。 使用 gunzip 解压文件到工作目录外的其他路径，仅需要在重定向操作符后添加目标目录的绝对路径即可。



```
gunzip -c [compressed-file] > [/complete/path/to/dest/dir/filename]

```

示例如下：



```
gunzip -c file1.gz > /home/himanshu/file1

```

### 更多信息


以下从 gzip/gunzip 的 man 页中摘录的细节，对于想了解更多的人会有所助益。



> 
> `gunzip` 在命令行接受一系列的文件，并且将每个文件内容以正确的魔法数开始，且后缀名为 `.gz`、`-gz`、`.z`、`-z` 或 `_z` （忽略大小写）的压缩文件，用未压缩的文件替换它，并删除其原扩展名。 `gunzip` 也可识别一些特殊扩展名的压缩文件，如 `.tgz` 和 `.taz` 分别是 `.tar.gz` 和 `.tar.Z` 的缩写。在压缩时，`gzip` 在必要情况下使用 `.tgz` 作为扩展名，而不是只截取掉 `.tar` 后缀。
> 
> 
> `gunzip` 目前可以解压 `gzip`、`zip`、`compress`、`compress -H`（`pack`）产生的文件。`gunzip` 自动检测输入文件格式。在使用前两种压缩格式时，`gunzip` 会检验 32 位循环冗余校验码（CRC）。对于 pack 包，`gunzip` 会检验压缩长度。标准压缩格式在设计上不允许相容性检测。不过 `gunzip` 有时可以检测出坏的 `.Z` 文件。如果你解压 `.Z` 文件时出错，不要因为标准解压没报错就认为 `.Z` 文件一定是正确的。这通常意味着标准解压过程不检测它的输入，而是直接产生一个错误的输出。SCO 的 `compress -H` 格式（lzh 压缩方法）不包括 CRC 校验码，但也允许一些相容性检查。
> 
> 
> 


### 结语


到目前为止提到的 `gunzip` 基本用法，并不需要过多的学习曲线。我们已包含了一个初学者开始使用它所必须了解的几乎全部知识。想要了解更多的用法，去看 [man 页面](https://linux.die.net/man/1/gzip) 吧。




---


via: <https://www.howtoforge.com/linux-gunzip-command/>


作者：[Himanshu Arora](https://www.howtoforge.com) 译者：[erialin](https://github.com/erialin) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出