tar 压缩与解压入门:打包、压缩与备份常用命令

举报
yd_233292016 发表于 2026/11/10 15:34:09 2026/11/10
【摘要】 在 Linux 服务器上工作,几乎每天都会遇到 tar:下载的源码包是 .tar.gz,备份网站目录要用 tar,迁移数据也要用到它。tar 的名字来自 Tape Archive(磁带归档),最初是把多个文件打包成一个文件;后来人们又给它加上了 gzip、bzip2、xz 等压缩能力,于是 tar 成了“打包 + 压缩”二合一的工具。本文用最常用的命令,讲清打包、压缩、解压和备份。 一、打包...

在 Linux 服务器上工作,几乎每天都会遇到 tar:下载的源码包是 .tar.gz,备份网站目录要用 tar,迁移数据也要用到它。tar 的名字来自 Tape Archive(磁带归档),最初是把多个文件打包成一个文件;后来人们又给它加上了 gzip、bzip2、xz 等压缩能力,于是 tar 成了“打包 + 压缩”二合一的工具。本文用最常用的命令,讲清打包、压缩、解压和备份。

一、打包与解压:四个最常用的选项

tar 的核心选项只有几个字母:c 创建归档、x 解开归档、t 列出内容、v 显示过程,再加上 f 指定文件名。下面四条命令覆盖了九成日常需求:

tar -cvf backup.tar /home/user/docs
tar -xvf backup.tar
tar -tvf backup.tar
tar -xvf backup.tar -C /tmp/restore

第一条把 docs 目录打包成 backup.tar,只打包不压缩;第二条把包解开到当前目录;第三条不解开,先看包里有什么;第四条把包解压到指定目录,而不是当前目录。记住一个口诀:打包用 c,解包用 x,查看用 t,f 后面永远跟文件名。

二、压缩与解压:gzip、bzip2、xz 怎么选

只打包不压缩时文件体积不变,加上压缩选项可以大幅缩小体积:

tar -czvf backup.tar.gz /home/user/docs
tar -cjvf backup.tar.bz2 /home/user/docs
tar -cJvf backup.tar.xz /home/user/docs

z 对应 gzip,速度最快、兼容性最好;j 对应 bzip2,体积更小、速度稍慢;J 对应 xz,压缩率最高,适合长期保存。解压时对应的选项也是 z、j、J,例如 tar -xzvf backup.tar.gz;现代 tar 甚至能自动识别压缩格式,直接 tar -xvf backup.tar.gz 同样可以解开。日常下载的 .tar.gz 源码包,用这一条命令就够了。

三、备份实战:打包前先排除不需要的文件

真正做备份时,很少会原样打包整个目录,日志、缓存和临时文件通常要排除:

tar -czvf www-backup.tar.gz --exclude='*.log' --exclude='cache' /var/www/html
tar -czvf etc-backup-$(date +%F).tar.gz /etc
tar -czvf - /home/user/docs | split -b 100M - docs-part-

第一条排除日志和缓存目录;第二条在文件名里带上日期,方便按天管理备份;第三条把大备份切成 100MB 的小块,便于拷贝到 U 盘或上传网盘。备份完成后别忘了验证:tar -tzvf www-backup.tar.gz | head 可以快速检查包是否完整、内容是否正确,确认无误再删除源文件或转移备份。

四、常见问题与注意事项

第一,解压时注意路径:tar 默认按包内记录的相对路径解压,解压前用 t 看一眼,避免文件散落到不该去的地方;第二,打包系统目录时加上 -p 保留文件权限,否则恢复后可执行文件可能丢失权限;第三,解压大文件时加上 --checkpoint,每隔一段时间打印进度,心里有数;第四,压缩格式不是越新越好,.tar.gz 在任何 Linux 发行版上都能解开,兼容性永远是第一位的。

小结

tar 的命令看似字母组合难记,其实逻辑很简单:c 打包、x 解包、t 查看,z、j、J 分别对应 gzip、bzip2、xz。掌握这几个选项,加上 --exclude 排除和 -C 指定目录,就能应付打包、解压和备份的大部分场景。建议把常用的备份命令写进一个小脚本,再配合定时任务,备份就不再是临时抱佛脚,而是一件自动完成的事。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。