tar 不止简单解压!这 10个「逆天高阶用法」建议收藏备用!

tar 不止简单解压!这 10个「逆天高阶用法」建议收藏备用!

很多人用 Linux 几年,对 tar 的认知还停留在:tar -zcvf打包、tar -zxf解压。

但实际上,tar 是 Linux 隐藏的全能神器,不用安装、系统自带。

它能搞定服务器备份、极速传输、超大文件压缩、增量更新、远程迁移等90%的运维场景。

尤其现在 AI 训练、云端部署、数据迁移常态化场景下,掌握 tar 高阶用法,能帮你省下大量时间。

今天整理 10个 tar 逆天实操用法,全是生产环境高频实用技巧,建议收藏备用!

01 零临时文件!远程打包+一键迁移

常规迁移文件,需要先远程打包、下载、本地解压,还会产生冗余临时文件,占用服务器空间。

tar 神仙操作:流式传输,全程无缓存

# 远程打包,直接解压到本地,无临时文件
ssh user@远程IP "tar -cf - /远程文件路径" | tar -xf - -C /本地存放路径

原理-cf -打包输出到标准输出,-xf -从标准输入读取解压,数据流式传输,不落地、不占磁盘。

适用场景:服务器大批量文件迁移、AI 数据集传输、项目整包搬迁。

02 多线程极速压缩,速度提升10倍

默认 gzip 压缩是单线程,超大文件夹、数据集、日志打包时,速度慢到崩溃。搭配 pigz 多线程工具,可以拉满 CPU 核心,极速压缩解压。

先安装工具:

# CentOS
yum install pigz -y
# Ubuntu/Debian
apt install pigz -y

高阶命令:

# 多线程并行压缩
tar -cf - 目标目录 | pigz > 输出压缩包.tar.gz

# 多线程并行解压
pigz -dc 压缩包.tar.gz | tar -xf -

核心优势:超大文件压缩速度提升3-10倍,AI 模型、数据集、备份文件打包必备。

03 增量备份:只备份改动文件,省时省空间

日常全量备份耗时、占存储,tar 自带增量备份功能,首次全量备份后,后续仅备份新增、修改、删除的文件,是服务器数据备份神器。

# 1、首次全量备份(生成快照记录文件)
tar -zcvf full_backup.tar.gz --listed-incremental=backup.snar /需要备份的目录

# 2、后续增量备份(自动对比快照,仅备份变动内容)
tar -zcvf inc_backup.tar.gz --listed-incremental=backup.snar /需要备份的目录

# 数据恢复:先恢复全量,再叠加增量
tar -zxf full_backup.tar.gz -C 恢复目录
tar -zxf inc_backup.tar.gz -C 恢复目录

适用场景:网站数据、数据库文件、AI 训练数据、服务器核心目录长期备份。

04 精准过滤打包,自动排除垃圾文件

打包项目时,日志、缓存、node_modules、.git 等无用文件经常占用大量空间,手动删除太麻烦,tar 可一键排除指定文件/目录。

tar -zcvf project.tar.gz \
  --exclude='*.log' \    # 排除所有日志文件
  --exclude='node_modules' \ # 排除依赖目录
  --exclude='.git' \     # 排除git文件
  --exclude='tmp' \      # 排除临时目录
  ./项目目录

小技巧:支持统一规则匹配,也可新建 .tarignore文件,像 git 忽略规则一样批量过滤。

05 无需全解压!预览包内容、单独提取单个文件

拿到几百 M、几个 G 的压缩包,只想改一个配置文件,全量解压极度浪费时间。

# 1、不解压,查看压缩包内所有文件列表
tar -tf 压缩包.tar.gz

# 2、只解压指定单个文件/文件夹
tar -xf 压缩包.tar.gz 包内完整文件路径

场景:快速查看配置、提取日志、调取核心文件,秒级操作,无需等待解压。

06 分卷压缩+合并,突破单文件大小限制

网盘、老旧系统、FAT32 格式磁盘有单文件大小限制,超大压缩包无法传输。tar 搭配 split 可实现分卷压缩,一键合并解压

# 分卷压缩:每卷100MB,可自定义大小
tar -zcf - 目标目录 | split -b 100M - data.tar.gz.

# 一键合并+解压所有分卷
cat data.tar.gz.* | tar -zxf -

完美解决大文件传输、上传受限问题,适配所有服务器、存储场景。

07 完美保留权限,系统迁移零翻车

普通打包解压会丢失文件权限、所有者、用户组,迁移系统、服务、容器文件后,经常出现权限报错。

# -p 保留文件权限  -h 保留软链接不追踪
tar -zcvf system_backup.tar.gz -ph /etc /home /usr/local

核心作用:系统备份、服务迁移、环境复刻时,权限、链接、属性完全保留,解压后直接可用,无需手动改权限。

08 动态追加文件,无需重新打包

打包完成后,遗漏文件不用重新打包,可直接追加到原 tar 包中(仅支持未压缩的 .tar 包)。

# 初始打包
tar -cvf files.tar a.txt b.txt

# 追加新文件
tar -rvf files.tar c.txt

高效补全打包内容,避免重复压缩大文件,节省操作时间。

09 精准指定解压目录,不污染当前文件夹

很多人解压容易乱目录,导致文件散落、难以整理,-C参数可精准指定解压路径。

# 解压到 /opt/app 目录,自动创建层级
tar -zxf app.tar.gz -C /opt/app

规范部署项目、多版本环境切换必备,杜绝解压乱根、文件混杂的问题。

10 一键校验压缩包与本地文件差异

备份完成后,不确定文件是否完整、是否有改动?一条命令对比压缩包和本地源文件差异。

tar -dzvf 压缩包.tar.gz 本地源目录

自动检测新增、修改、删除的文件,快速校验备份完整性,避免备份失效、数据丢失。

最后总结

Tar 从来不是简单的解压打包工具,它是 Linux 运维、服务部署、AI 数据处理、服务器迁移的底层核心工具

在 AI、云服务普及的当下,Docker 容器、算力集群、数据集备份迁移,全都离不开 tar。

熟练掌握这些高阶用法,能让你的 Linux 操作效率翻倍,轻松搞定99%的文件处理场景。

上一篇 带你领略下 Debian 13.7!