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%的文件处理场景。




