一、核心选项说明
1. 主操作选项(必选其一)
选项 功能说明 示例与场景 来源
**-c / --create** 创建新归档文件 tar -cvf backup.tar /data 打包 /data 目录
**-x / --extract** 解压归档文件 tar -xvf backup.tar 解压到当前目录
**-t / --list** 查看归档内容(不解压) tar -tvf backup.tar.gz 查看压缩包内文件
**-r / --append** 追加文件到归档末尾 tar -rvf backup.tar log/ 添加 log/ 目录
**-u / --update** 更新归档中的文件(仅替换更新版本) tar -uvf backup.tar newfile.txt
2. 压缩选项
选项 功能说明 示例与场景 来源
**-z / --gzip** 使用 gzip 压缩(生成 .tar.gz) tar -czvf report.tar.gz /var/log
**-j / --bzip2** 使用 bzip2 压缩(生成 .tar.bz2,压缩率更高) tar -cjvf db.tar.bz2 /opt/mysql
**-J / --xz** 使用 xz 压缩(生成 .tar.xz,压缩率最高) tar -cJvf archive.tar.xz docs/
3. 辅助选项
选项 功能说明 示例与场景 来源
**-f / --file** 指定归档文件名(必须尾随,如 tar -f archive.tar …) tar -czvf archive.tar.gz src/
**-v / --verbose** 显示详细操作过程 tar -xvf archive.tar.gz -C /tmp
**-C / --directory** 指定解压/打包的工作目录 tar -xvf archive.tar.gz -C /opt/backup
**-p / --preserve-permissions** 保留文件权限与时间戳 tar -czvpf config.tar.gz /etc
**-k / --keep-old-files** 解压时跳过已存在的文件(不覆盖) tar -xvf backup.tar -k
4. 其他高级选项
选项 功能说明 示例与场景 来源
**–delete** 从归档中删除文件(需谨慎) tar --delete -f backup.tar oldfile.txt
**–exclude** 排除指定文件或目录 tar -czvf backup.tar --exclude=*.log /data
**–newer** 仅打包指定时间后修改的文件 tar -czvf incremental.tar.gz --newer “2025-03-01” /var/log
**–force-local** 强制解析本地文件名(避免路径问题) tar -xvf package.tar.gz --force-local
二、典型操作示例
1. 基础打包与压缩
bash
#打包并压缩为 gzip 格式
tar -czvf report.tar.gz /var/log # 1,3,5
#解压到指定目录
tar -xzvf report.tar.gz -C /opt/backup # 3,5
2. 多线程压缩加速
bash
#使用 pigz 并行压缩(需安装 pigz)
tar -I pigz -czvf large_data.tar.gz /mnt/data # 3
3. 差异备份
bash
#仅备份修改时间在 2025-03-01 后的文件
tar -czvf incremental.tar.gz --newer “2025-03-01” /var/log # 3
三、注意事项与安全提示
权限与路径
解压时若目标目录权限不足,需使用 sudo 或修改权限。
避免使用绝对路径解压,防止“tar炸弹”攻击(如 tar -xvf bomb.tar 可能覆盖系统文件)。
压缩格式选型
gzip:压缩率中等,速度最快(通用场景首选)。
bzip2:压缩率较高,速度较慢(适合长期存档)。
xz:压缩率最高,速度最慢(适合冷数据存储)。
预检与验证
解压前务必使用 tar -tf archive.tar.gz 查看内容。
通过 md5sum 校验文件完整性。
四、完整选项速查表
选项分类 选项列表 来源
主操作 -c, -x, -t, -r, -u
压缩 -z, -j, -J
辅助 -f, -v, -C, -p, -k
高级 --delete, --exclude, --newer, --force-local
引用来源:
基础选项与示例:
高级技巧与安全规范:
压缩格式选型: