- 工信部备案号 滇ICP备05000110号-1
- 滇公网安备53011102001527号
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
- CN域名投诉举报处理平台:电话:010-58813000、邮箱:service@cnnic.cn
tar命令是 Linux 系统中用于文件打包和压缩的核心工具。掌握其高级用法可以大大提高文件管理和备份的效率。本文深入介绍 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 # 指定解压目录
# 比较不同压缩算法的效果
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
# 从文件读取排除列表
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 -
售前咨询
售后咨询
备案咨询
二维码

TOP