信息发布→ 登录 注册 退出

Linux tar压缩与打包教程_Linux文件打包完整示例

发布时间:2025-12-22

点击量:
tar命令本身只打包不压缩,压缩需gzip(-z)、bzip2(-j)或xz(-J)协同;常用操作包括-cf打包、-czf压缩打包、-tzf查看、-xzf解压,配合-C指定路径、--exclude排除目录。

Linux 中的 tar 命令既能打包又能压缩,但要注意:它本身只负责“打包”(把多个文件合并成一个归档文件),压缩需借助 gzip、bzip2、xz 等工具协同完成。实际使用中,我们常通过选项一键完成“打包+压缩”,下面用最常用、最实用的方式讲清楚。

基础打包:不压缩,只归档

打包就是把一堆文件/目录合并成单个 .tar 文件,不占额外空间,也不加密或压缩。

  • 打包当前目录下所有 .log 文件:tar -cf logs.tar *.log
  • 打包指定目录(如 /var/log):tar -cf log-backup.tar /var/log
  • 排除某个子目录(如跳过 /var/log/journal):tar -cf log-backup.tar --exclude='/var/log/journal' /var/log

说明:-c 表示创建新归档,-f 指定归档文件名(必须放在最后或紧接其后)。没有 -z/-j/-J 就不会压缩,生成的是纯 .tar 文件。

gzip 压缩打包:最通用,速度快

-z 选项调用 gzip,生成 .tar.gz 或简写为 .tgz,兼容性最好,适合日常备份和传输。

  • 打包并 gzip 压缩整个 project 目录:tar -czf project.tar.gz project/
  • 只打包 .conf 和 .sh 文件,并压缩:tar -czf config-scripts.tar.gz *.conf *.sh
  • 查看压缩包内容(不解压):tar -tzf project.tar.gz

注意:-z 必须和 -c(创建)或 -t(列出)一起用;单独 -z 不生效。解压用 tar -xzf xxx.tar.gz-x 表示解包)。

bzip2 和 xz 压缩:更高压缩率,换时间换体积

如果磁盘紧张、传输带宽小,可选更高压缩率格式:

  • bzip2(.tar.bz2):压缩率比 gzip 高约 10–15%,速度稍慢。tar -cjf data.tar.bz2 data/
  • xz(.tar.xz):压缩率最高,尤其适合文本类数据,但耗 CPU 多、速度慢。tar -cJf archive.tar.xz docs/
  • 查看 bzip2/xz 包内容:tar -tjf archive.tar.bz2tar -tJf archive.tar.xz

提示:xz 在较老系统上可能未预装,执行前可先运行 xz --version 确认支持。

解压与提取:按扩展名选对参数

解压不是“万能命令”,得匹配当初用的压缩工具:

  • 解压 .tar.gz:tar -xzf file.tar.gz
  • 解压 .tar.bz2:tar -xjf file.tar.bz2
  • 解压 .tar.xz:tar -xJf file.tar.xz
  • 解压到指定目录(如 /tmp):tar -xzf backup.tar.gz -C /tmp
  • 只解压其中某几个文件:tar -xzf app.tar.gz etc/nginx.conf usr/bin/myapp

说明:-C 后跟路径,必须是已存在的目录;文件路径要写对(可先 tar -tzf xxx.tar.gz 查看结构)。

基本上就这些。掌握 c/t/x(打包/查看/解包)搭配 f(文件)和 z/j/J(压缩工具),再记住 -C--exclude 这两个高频选项,90% 的 tar 场景都能应对自如。

标签:# linux  # 更高  # 都能  # 多个  # 放在  # 也不  # 几个  # 压缩工具  # 的是  # 可先  # 压缩率  # var  #   # 解压  # 工具  # app  # nginx  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!