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

2次阅读

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

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

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 场景都能应对自如。

站长
版权声明:本站原创文章,由 站长 2025-12-23发表,共计1396字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources