在 Debian 系统中处理压缩包,主要依赖命令行工具。以下是常见压缩格式的处理方法,涵盖 解压、压缩、查看内容 等场景,附带常用参数说明:
部分压缩工具可能未预装,需先安装(以 apt 为例):
sudo apt update
# 安装常用压缩工具(按需选择)
sudo apt install tar gzip bzip2 xz-utils unzip p7zip-full
.tar(仅打包,无压缩)tar 是 Debian 中最常用的打包工具,本身不压缩,常配合压缩算法(gzip、bzip2、xz)使用。
解压:
tar -xvf 文件名.tar
-x(解压)、-v(显示过程)、-f(指定文件,必须放最后)。压缩:
tar -cvf 压缩包名.tar 要打包的文件/目录
tar -cvf myfiles.tar /home/user/docs 打包 /home/user/docs 为 myfiles.tar。.tar.gz / .tgz(tar + gzip 压缩)最常用的压缩格式之一,压缩率适中,速度快。
解压:
tar -xzvf 文件名.tar.gz
# 或简写(gzip 可省略 z,tar 会自动识别)
tar -xvf 文件名.tar.gz
压缩:
tar -czvf 压缩包名.tar.gz 要压缩的文件/目录
tar -czvf docs.tar.gz ./docs 压缩当前目录 docs 为 docs.tar.gz。.tar.bz2(tar + bzip2 压缩)压缩率比 gzip 高,但速度稍慢。
解压:
tar -xjvf 文件名.tar.bz2
压缩:
tar -cjvf 压缩包名.tar.bz2 要压缩的文件/目录
.tar.xz(tar + xz 压缩)压缩率极高,但速度最慢(适合大文件或需极致压缩的场景)。
解压:
tar -xJvf 文件名.tar.xz # 注意 J 是大写
压缩:
tar -cJvf 压缩包名.tar.xz 要压缩的文件/目录
.zip(跨平台格式)Windows 和 Linux 通用,需 unzip 工具解压,zip 工具压缩。
解压:
unzip 文件名.zip
# 解压到指定目录(如 /tmp)
unzip 文件名.zip -d /tmp
压缩:
zip -r 压缩包名.zip 要压缩的文件/目录 # -r 递归压缩子目录
zip -r project.zip ./project 压缩 project 目录为 project.zip。.gz(仅 gzip 压缩,无 tar 打包)单个文件的 gzip 压缩(如日志文件)。
解压:
gunzip 文件名.gz # 解压后原文件消失
# 或保留原文件解压
gzip -d 文件名.gz
# 或用 zcat 查看内容(不解压)
zcat 文件名.gz
压缩:
gzip 文件名 # 压缩后生成 文件名.gz,原文件消失
# 保留原文件压缩
gzip -c 文件名 > 文件名.gz
.bz2(仅 bzip2 压缩)单个文件的 bzip2 压缩。
解压:
bunzip2 文件名.bz2 # 原文件消失
# 保留原文件
bzip2 -d 文件名.bz2
# 查看内容
bzcat 文件名.bz2
压缩:
bzip2 文件名 # 原文件消失
# 保留原文件
bzip2 -c 文件名 > 文件名.bz2
.xz(仅 xz 压缩)单个文件的 xz 压缩(压缩率高)。
解压:
unxz 文件名.xz # 原文件消失
# 保留原文件
xz -d 文件名.xz
# 查看内容
xzcat 文件名.xz
压缩:
xz 文件名 # 原文件消失
# 保留原文件
xz -c 文件名 > 文件名.xz
.7z(7-Zip 格式,高压缩率)需 p7zip-full 工具,支持多种压缩算法。
解压:
7z x 文件名.7z # x 表示按原始目录结构解压
压缩:
7z a 压缩包名.7z 要压缩的文件/目录 # a 表示添加文件到压缩包
查看压缩包内容(不解压):
tar -tvf 文件名.tar.gz(t 表示列出内容)。unzip -l 文件名.zip(l 表示列表)。7z l 文件名.7z(l 表示列表)。解压到指定目录:
大部分工具支持 -C(tar)或 -d(unzip)参数:
tar -xzvf docs.tar.gz -C /tmp # 解压到 /tmp
unzip app.zip -d /opt # 解压到 /opt
处理中文乱码(zip 解压时):
若 zip 包含中文文件名,解压时可能乱码,可尝试:
unzip -O GBK 文件名.zip # 强制用 GBK 编码解析(需 unzip 支持)
| 格式 | 解压命令 | 压缩命令 |
|---|---|---|
.tar |
tar -xvf file.tar |
tar -cvf file.tar 目录/文件 |
.tar.gz |
tar -xzvf file.tar.gz |
tar -czvf file.tar.gz 目录/文件 |
.tar.bz2 |
tar -xjvf file.tar.bz2 |
tar -cjvf file.tar.bz2 目录/文件 |
.tar.xz |
tar -xJvf file.tar.xz |
tar -cJvf file.tar.xz 目录/文件 |
.zip |
unzip file.zip |
zip -r file.zip 目录/文件 |
.gz |
gunzip file.gz |
gzip file |
.bz2 |
bunzip2 file.bz2 |
bzip2 file |
.xz |
unxz file.xz |
xz file |
.7z |
7z x file.7z |
7z a file.7z 目录/文件 |
根据你的压缩包格式选择对应命令即可,Debian 下优先推荐 tar 系列(原生支持,效率高),跨平台场景用 zip 或 7z。