tar 命令入门:Linux 打包与压缩一次讲清

举报
yd_283574177 发表于 2026/10/31 17:05:45 2026/10/31
【摘要】 在 Linux 服务器运维和日常开发中,打包与压缩是最常用的基础操作之一。无论是备份网站目录、迁移项目代码,还是发布上线前的归档整理,都离不开 tar 命令。本文带你从零入门 tar,掌握最常用的打包压缩姿势。一、tar 是什么tar 的全称是 tape archive,最初是为磁带备份设计的归档工具。它的核心作用是把多个文件和目录合并成一个文件,但本身并不压缩。如果想同时压缩,需要配合 g...

在 Linux 服务器运维和日常开发中,打包与压缩是最常用的基础操作之一。无论是备份网站目录、迁移项目代码,还是发布上线前的归档整理,都离不开 tar 命令。本文带你从零入门 tar,掌握最常用的打包压缩姿势。

一、tar 是什么

tar 的全称是 tape archive,最初是为磁带备份设计的归档工具。它的核心作用是把多个文件和目录合并成一个文件,但本身并不压缩。如果想同时压缩,需要配合 gzip、bzip2、xz 等压缩算法使用。

二、常用选项速记

tar 命令的参数很多,入门只需记住几个字母:c 表示创建新的归档文件;x 表示从归档文件中解压提取;t 表示列出归档文件中的内容;v 表示显示处理过程的详细信息;f 表示指定归档文件的名字,必须放在参数的最后;z 表示用 gzip 压缩或解压;j 表示用 bzip2 压缩或解压;J 表示用 xz 压缩或解压。

记住一个口诀:「创建用 c,解压用 x,查看用 t,f 永远放最后」。

三、实战:打包与压缩

把 project 目录打包并用 gzip 压缩:tar -czvf project.tar.gz project/

参数连写成 -czvf 即可:创建(c)、gzip 压缩(z)、显示过程(v)、指定文件名(f)。

打包网站目录并排除日志文件:tar -czvf site.tar.gz --exclude='*.log' /var/www/site/

四、实战:查看与解压

查看压缩包里的内容而不解压:tar -tzvf project.tar.gz

解压到当前目录:tar -xzvf project.tar.gz

解压到指定目录(目录需已存在):tar -xzvf project.tar.gz -C /opt/backup/

五、常见误区与小技巧

第一,f 参数后面必须紧跟文件名:tar -czvf 中的 f 是最后一个字母,所以文件名写在 -czvf 后面,写成 tar -cvfz 会报错。

第二,解压时注意路径:归档时建议使用相对路径,避免带绝对路径的包解压时覆盖系统目录。

第三,压缩率与速度的权衡:gzip 速度最快、兼容性最好;bzip2 压缩率更高但更慢;xz 压缩率最高,适合长期归档。

第四,只想打包不压缩:去掉 z 即可,tar -cvf project.tar project/,适合已经是压缩格式的文件。

六、总结

tar 命令看似参数繁多,但日常九成的场景只需要记住:-czvf 打包压缩、-tzvf 查看内容、-xzvf 解压提取,再加上 -C 指定解压目录和 --exclude 排除文件。掌握这几个组合,Linux 上的打包压缩工作就能一次搞定。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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