菜鸟科技网

终端解压命令有哪些?

下面我将为你详细列出各种常见格式的解压命令,并提供一些通用技巧。

终端解压命令有哪些?-图1
(图片来源网络,侵删)

核心原则

  • 命令名称:解压命令和压缩命令是同一个,tar 既可以压缩也可以解压,具体行为由参数决定。
  • 参数-x 是最关键的解压参数,代表 "extract" (提取)。
  • 查看帮助:如果忘记参数,随时可以使用 命令名 --helpman 命名名 来查看手册。tar --help

.tar 文件 (Tape Archive)

.tar 文件本身只是将多个文件和目录“打包”成一个文件,并没有进行压缩,所以解压它非常直接。

命令:

tar -xvf filename.tar

参数解释:

  • -x: extract (解压/提取)
  • -v: verbose (详细模式,显示正在处理的文件名)
  • -f: file (指定要操作的文件名,-f 后面必须紧跟文件名)

示例:

终端解压命令有哪些?-图2
(图片来源网络,侵删)
# 解压 archive.tar 文件到当前目录
tar -xvf archive.tar
# 解压并指定解压到目标目录 my_folder
# 注意:-f 后面是文件名,-C 后面是目标目录
tar -xvf archive.tar -C my_folder

.tar.gz.tgz 文件 (Gzip 压缩的 Tar 包)

这是 Linux/Unix 系统下最常见的一种压缩格式,它先用 tar 打包,再用 gzip 压缩。

命令:

# 方法一:使用 -z 参数 (推荐)
tar -xzvf filename.tar.gz
# 方法二:使用 -a 参数 (自动识别压缩格式)
tar -axvf filename.tar.gz

参数解释:

  • -z: zip (使用 gzip/gunzip 来处理压缩文件)
  • -a: auto-compress (自动检测并使用合适的压缩程序,如 gzip, bzip2, xz)

示例:

终端解压命令有哪些?-图3
(图片来源网络,侵删)
# 解压 project.tar.gz 文件
tar -xzvf project.tar.gz
# 解压到指定目录
tar -xzvf project.tar.gz -C /path/to/destination

.tar.bz2 文件 (Bzip2 压缩的 Tar 包)

Bzip2 的压缩率通常比 gzip 更高,但速度也更慢,现在逐渐被 .xz 格式取代。

命令:

# 方法一:使用 -j 参数
tar -xjvf filename.tar.bz2
# 方法二:使用 -a 参数 (自动识别)
tar -axvf filename.tar.bz2

参数解释:

  • -j: 使用 bzip2/bunzip2 来处理压缩文件。

示例:

# 解压 backup.tar.bz2 文件
tar -xjvf backup.tar.bz2

.tar.xz 文件 (XZ 压缩的 Tar 包)

XZ 是目前压缩率最高的格式之一,但速度也是最慢的,常用于需要极致压缩比的场景,如软件源码分发。

命令:

# 方法一:使用 -J 参数 (注意是大写 J)
tar -xJvf filename.tar.xz
# 方法二:使用 -a 参数 (自动识别)
tar -axvf filename.tar.xz

参数解释:

  • -J: 使用 xz 来处理压缩文件。注意:这个参数必须是大写 J

示例:

# 解压 source-code.tar.xz 文件
tar -xJvf source-code.tar.xz

.zip 文件 (跨平台格式)

Windows 系统最常用的压缩格式,在 Linux 下也能很好地支持。

命令:

unzip filename.zip

常用参数:

  • -d: 指定解压到的目录。
  • -l: 列出压缩包内容,不解压。
  • -o: 覆盖已存在的文件,不提示。
  • -q: 安静模式,不显示解压过程。

示例:

# 解压 archive.zip 到当前目录
unzip archive.zip
# 解压到指定目录 /path/to/dest
unzip archive.zip -d /path/to/dest
# 安静模式解压,并覆盖已存在的文件
unzip -oq archive.zip

.rar 文件 (WinRAR 格式)

.rar 格式是商业软件 WinRAR 的产物,在 Linux 下需要安装 unrarrar 工具。

安装工具 (以 Debian/Ubuntu 为例):

sudo apt-get install unrar

命令:

unrar x filename.rar

常用参数:

  • x: extract (完整路径解压,会创建与压缩包内相同的目录结构)
  • e: extract (只解压文件,不创建完整路径)
  • l: list (列出压缩包内容)

示例:

# 解压 rarfile.rar,保持目录结构
unrar x rarfile.rar
# 只解压文件到当前目录
unrar e rarfile.rar

.7z 文件 (7-Zip 格式)

7-Zip 提供了非常高的压缩率,支持多种压缩算法。

安装工具 (以 Debian/Ubuntu 为例):

sudo apt-get install p7zip-full

命令:

7z x filename.7z

常用参数:

  • x: extract (带完整路径解压)
  • e: extract (只解压文件到当前目录)
  • l: list (列出内容)

示例:

# 解压 archive.7z
7z x archive.7z
# 只解压文件
7z e archive.7z

.gz 文件 (Gzip 单文件压缩)

这种格式通常只用于压缩单个文件,解压后会得到原始文件。

命令:

gunzip filename.gz
# 或者
gzip -d filename.gz

注意:这两个命令会直接删除原始的 .gz 文件,如果希望保留原文件,使用 -k (keep) 参数:

gzip -dk filename.gz

总结表格

文件扩展名 压缩格式 解压命令 关键参数
.tar Tar (无压缩) tar -xvf filename.tar -x
.tar.gz Tar + Gzip tar -xzvf filename.tar.gz -z
.tgz Tar + Gzip tar -xzvf filename.tgz -z
.tar.bz2 Tar + Bzip2 tar -xjvf filename.tar.bz2 -j
.tar.xz Tar + XZ tar -xJvf filename.tar.xz -J (大写)
.zip Zip unzip filename.zip
.rar RAR unrar x filename.rar x
.7z 7-Zip 7z x filename.7z x
.gz Gzip (单文件) gunzip filename.gz 无 (或 -d)

通用技巧

  1. :在解压前,你可能想看看压缩包里有什么。

    • *对于 `.tar.文件**:tar -tvf filename.tar.gz(用-t替换-x`)
    • 对于 .zip 文件unzip -l filename.zip
    • 对于 .rar 文件unrar l filename.rar
  2. 解压到指定目录:几乎所有解压命令都支持将文件解压到指定路径,避免弄乱当前目录。

    • tar ... -C /path/to/dir
    • unzip ... -d /path/to/dir
  3. 处理中文乱码:如果解压的文件名是中文,有时会出现乱码,这通常是由于 LANG 环境变量设置不当导致的,可以临时设置:

    # 对于 unzip
    LANG=en_US.UTF-8 unzip filename.zip
    # 对于 tar (如果文件名编码是 GBK 等)
    tar -xvf filename.tar --iconv gbk,utf-8

希望这份详细的指南能帮助你!

分享:
扫描分享到社交APP
上一篇
下一篇