帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  如何在 Linux 中使用 tar 命令进行高级压缩和备份

如何在 Linux 中使用 tar 命令进行高级压缩和备份

2026-01-13 17:36:51 292

如何在 Linux 中使用 tar 命令进行高级压缩和备份

tar命令是 Linux 系统中用于文件打包和压缩的核心工具。掌握其高级用法可以大大提高文件管理和备份的效率。本文深入介绍 tar命令的高级功能和实用技巧。

1. tar 命令基础

基本语法

tar [选项] 文件或目录

常用选项速查

# 操作模式

-c  # 创建归档

-x  # 提取归档

-t  # 列出归档内容

-r  # 追加文件

-u  # 更新文件

-d  # 比较差异

 

# 压缩选项

-z  # gzip 压缩 (.tar.gz)

-j  # bzip2 压缩 (.tar.bz2)

-J  # xz 压缩 (.tar.xz)

-Z  # compress 压缩 (已过时)

 

# 通用选项

-v  # 显示详细信息

-f  # 指定归档文件名

-p  # 保留权限

--exclude  # 排除文件

-C  # 指定解压目录

2. 高级压缩技巧

选择合适的压缩算法

# 比较不同压缩算法的效果

time tar -czf archive_gz.tar.gz /path/to/data

time tar -cjf archive_bz2.tar.bz2 /path/to/data

time tar -cJf archive_xz.tar.xz /path/to/data

 

# 查看压缩率

ls -lh archive_*.tar.*

 

# 使用 pigz 并行压缩(多核加速)

tar -cf - /path/to/data | pigz -9 > archive.tar.gz

 

# 使用 pbzip2 并行 bzip2 压缩

tar -cf - /path/to/data | pbzip2 -c > archive.tar.bz2

增量备份

# 创建完整备份

tar -czg snapshot.snar -f full_backup_$(date +%Y%m%d).tar.gz /data

 

# 创建增量备份

tar -czg snapshot.snar -f inc_backup_$(date +%Y%m%d_%H%M%S).tar.gz /data

 

# 列出增量备份内容

tar -tzf inc_backup.tar.gz

 

# 恢复增量备份

# 先恢复完整备份

tar -xzg snapshot.snar -f full_backup.tar.gz -C /restore

# 再恢复增量备份

tar -xzg snapshot.snar -f inc_backup.tar.gz -C /restore

3. 排除和包含文件

高级排除模式

# 从文件读取排除列表

tar -czf backup.tar.gz -X exclude-list.txt /path/to/data

 

# exclude-list.txt 内容示例:

*.log

*.tmp

cache/

node_modules/

.DS_Store

Thumbs.db

.git/

 

# 使用模式匹配

tar -czf backup.tar.gz \\

  --exclude="*.log" \\

  --exclude="*.tmp" \\

  --exclude="*/cache/*" \\

  --exclude=".git/*" \\

  /path/to/data

 

# 排除特定大小的文件

tar -czf backup.tar.gz --exclude="*.mp4" --exclude="*.iso" /path/to/data

只包含特定文件

# 从文件读取包含列表

tar -czf backup.tar.gz -T include-list.txt

 

# 包含特定文件类型

find /path/to/data -name "*.conf" -o -name "*.config" | tar -czf configs.tar.gz -T -

 

# 包含最近修改的文件

find /path/to/data -type f -mtime -7 | tar -czf recent_files.tar.gz -T -

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图