Linux 系统中,.tar.gz 是最常见的一种压缩文件格式,它实际上是两个步骤的组合:首先使用 tar 命令将多个文件或目录打包成一个单一的 .tar 文件(称为 tarball),然后使用 gzip 工具对这个 tarball 进行压缩,最终生成 .tar.gz 或 .tgz 格式的文件,这种格式因其兼容性好、压缩率适中且在 Linux/Unix 系统中广泛支持而备受青睐,本文将详细介绍 .tar.gz 文件的相关操作,包括创建、解压、查看内容以及进阶技巧,帮助用户高效管理文件。

创建 .tar.gz 压缩文件
创建 .tar.gz 文件通常有两种方式:一种是分两步完成(先打包再压缩),另一种是通过 tar 命令的集成选项一步完成,推荐使用后者,操作更简洁。
使用 -z 选项一步压缩
tar 命令的 -z 选项表示调用 gzip 进行压缩,结合 -c(创建)、-v(显示过程)、-f(指定文件名)选项,即可快速生成 .tar.gz 文件,基本语法为:
tar -czvf 压缩文件名.tar.gz 要压缩的文件或目录
将当前目录下的 documents 文件夹和 report.txt 文件压缩为 backup.tar.gz:
tar -czvf backup.tar.gz documents report.txt
-c:创建新的归档文件;-z:使用gzip压缩/解压缩;-v:显示归档文件的详细列表(可选,但有助于确认操作内容);-f:指定归档文件名称,需放在选项末尾。
分步打包与压缩
若需分步操作,先用 tar 打包为 .tar 文件,再用 gzip 压缩:
# 第一步:打包 tar -cvf backup.tar documents report.txt # 第二步:压缩 gzip backup.tar
执行后,backup.tar 会被压缩为 backup.tar.gz,原 .tar 文件默认保留,可通过 gzip -d backup.tar.gz 或 gunzip backup.tar.gz 解压并还原 .tar 文件。
解压 .tar.gz 文件
解压 .tar.gz 文件同样可通过 tar 命令的集成选项高效完成,常用 -x(解压)、-z(处理 gzip 压缩)、-v(显示过程)、-f(指定文件)选项。
解压到当前目录
默认解压到当前目录,会自动还原文件和目录结构:

tar -xzvf 压缩文件名.tar.gz
解压 backup.tar.gz:
tar -xzvf backup.tar.gz
解压到指定目录
使用 -C 选项可指定解压目标目录(需确保目录已存在):
tar -xzvf backup.tar.gz -C /path/to/target_directory
解压到 /home/user/backup 目录:
tar -xzvf backup.tar.gz -C /home/user/backup
仅查看压缩文件内容不解压
若需确认 .tar.gz 内的文件列表,可使用 -t 选项:
tar -tzvf backup.tar.gz
此命令会显示文件权限、大小、日期等详细信息,帮助用户快速定位目标文件。
高级技巧与注意事项
排除特定文件或目录
在压缩时,可通过 --exclude 选项排除不需要的文件,压缩 documents 目录时排除 temp 子目录和 *.log 文件:
tar -czvf backup.tar.gz --exclude=temp --exclude=*.log documents
压缩时保留文件权限
默认情况下,tar 会保留文件的原始权限(通过 -p 选项强制保留,即使当前用户没有权限):

tar -czvpf backup.tar.gz documents
查看 .tar.gz 文件大小与压缩率
使用 ls -lh 查看压缩后文件大小,通过 du -sh 查看解压后占用空间,对比计算压缩率:
ls -lh backup.tar.gz # 查看压缩文件大小 du -sh documents # 查看原始目录大小
跨平台兼容性
.tar.gz 格式在 Linux、macOS 和 Windows(需安装工具如 7-Zip、WinRAR)中均支持,但需注意:
- Windows 下默认可能无法直接识别,需通过第三方工具解压;
- 文件路径中的斜杠()在 Windows 下可能需转换为反斜杠(
\)。
常见问题与解决方案
“tar: 从 f 开头的归档文件中无法恢复: 没有那个文件或目录”
错误原因:-f 选项后未正确指定文件名,或文件路径错误。
解决方法:确保 -f 紧跟文件名,且文件存在。
tar -xzvf /path/to/backup.tar.gz # 正确指定完整路径
解压时提示“gzip: stdin: not in gzip format”
错误原因:文件不是 gzip 压缩格式(如未使用 -z 选项的 .tar 文件)。
解决方法:尝试不加 -z 选项解压:
tar -xvf backup.tar # 解压未压缩的 tar 文件
压缩大文件时提示“tar: 剩余的磁道:0”
错误原因:磁盘空间不足或文件权限问题。
解决方法:检查磁盘空间(df -h),并确保对目标文件有读写权限。
.tar.gz 凭借其简单高效的特点,成为 Linux 系统中文件归档与压缩的首选格式,通过掌握 tar 命令的 -czvf 和 -xzvf 等核心选项,用户可以轻松完成文件的打包、压缩与解压操作,结合 --exclude、-C 等高级选项,还能实现更精细化的文件管理,无论是日常备份还是跨平台文件传输,.tar.gz 都能提供稳定可靠的支持,熟练运用这些命令,将显著提升 Linux 环境下的工作效率。



















