508 字
3 分钟

Linux 常用命令详解 - tar

tar命令详解#

tar命令基础语法#

tar [选项] [文件/目录]

常用核心参数#

  • -c (Create): 创建新的归档文件。
  • -x (Extract): 从归档文件中解压文件。
  • -v (Verbose): 显示详细过程(列出正在处理的文件名)。
  • -f (File): 必须参数,后面紧跟归档文件的名称。
  • -t (List): 查看归档文件里的内容,而不解压。
  • -z: 通过 gzip 过滤归档(后缀通常为 .tar.gz)。
  • -j: 通过 bzip2 过滤归档(后缀通常为 .tar.bz2)。

常用场景#

压缩

Terminal window
# 基础式
# c:创建归档文件
# v:显示详细过程
# f:指定生成归档文件的文件名
tar -cvf [tar_filename].tar [folder_path]
# 压缩归档
# gzip压缩
tar -czvf ...
# bzip2压缩
tar -cjvf ...
# xz压缩,但是这个似乎前段时间说有后门
tar -cJvf ...
# zstd压缩
tar --zstd -cvf ...

压缩格式对比

格式参数常用后缀特点
Tar-cvf.tar仅打包,不压缩
Gzip-zcvf.tar.gz / .tgz压缩速度快,CPU消耗低
Bzip2-jcvf.tar.bz2压缩比高,文件更小
XZ-Jcvf.tar.xz极高压缩比,适合分发大型源码包

解压

Terminal window
# 基础式
tar -xvf [tar_filename]
# 同时解压
# gzip解压
tar -xzvf ...
# bzip2解压
tar -xjvf ...
# 解压到指定目录
# 解压时注意你之前打包的时候是打包了一个文件夹还是一系列文件
tar -xvf [tar_filename] -C [target_dir]

查看归档文件

tar -tvf [tar_filename]

进阶小技巧#

  • 排除特定文件: 如果你想打包整个目录但跳过 .git 文件夹: tar --exclude='.git' -zcvf project.tar.gz project/
  • 解压单个文件: 不需要解压整个包,只需提取其中一个文件: tar -zxvf backup.tar.gz path/to/specific_file.txt
  • 增量备份: 使用 -u (update) 参数可以仅将比归档文件中更新的文件添加到包中。

⚠️ 注意事项: 在使用 -f 参数时,它必须是最后一个参数,因为 tar 会把 -f 后面紧跟着的字符串当成文件名。

  • ✅ 正确:tar -zcvf backup.tar.gz
  • ❌ 错误:tar -zfcv backup.tar.gz (这会报错,因为它认为文件名是 cv)

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Linux 常用命令详解 - tar
https://www.domainwang.top/posts/d26-01-28_linux常用命令-tar/linux常用命令-tar/
作者
小王
发布于
2026-01-28
许可协议
CC BY-NC-SA 4.0

目录