- 工信部备案号 滇ICP备05000110号-1
- 滇公网安备53011102001527号
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
- CN域名投诉举报处理平台:电话:010-58813000、邮箱:service@cnnic.cn
tar 命令完整使用手册
欢迎来到8455线路检测中心技术小课堂。
在 Linux 服务器管理中,文件备份、数据迁移、软件部署常需处理大量文件,将多个文件打包压缩成单个文件,能大幅提升传输效率和存储便利性。tar 命令作为 Linux 系统默认的归档压缩工具,支持打包、压缩、解压等全流程操作,兼容多种压缩格式(如 gzip、bzip2),是运维工作中的“文件处理利器”。今天就系统讲解 tar 命令的使用方法,覆盖从基础打包到进阶压缩的全场景需求。
一.基本语法和核心作用
1.1 核心作用
tar(Tape Archive)全称“磁带归档工具”,核心功能是将多个文件或目录打包成单个归档文件(.tar),同时支持结合压缩算法生成压缩文件(如 .tar.gz、.tar.bz2),也可对已有的归档/压缩文件进行解压和查看,实现“多文件整合、体积压缩、数据备份”三大核心目标。
1.2 基本语法
tar [核心选项] [归档/压缩文件名] [待处理文件/目录]
说明:tar 命令通过组合“核心选项”实现不同功能,核心选项无需加“-”前缀(传统用法),也可加前缀(兼容用法),实操中前者更常用。
1.3 核心选项含义
tar 命令功能由选项组合实现,以下是最常用的核心选项,需重点记忆:
选项 | 核心功能 |
c | 创建新的归档文件(打包核心选项) |
x | 从归档文件中提取文件(解压核心选项) |
t | 查看归档文件中的内容(不解压查看) |
v | 显示操作过程中的详细信息(verbose,常用) |
f | 指定归档/压缩文件的名称(必须放在选项最后) |
z | 使用 gzip 算法进行压缩/解压(生成 .tar.gz 格式) |
j | 使用 bzip2 算法进行压缩/解压(生成 .tar.bz2 格式) |
2 基础操作:仅打包不压缩(.tar 格式)
仅打包不压缩适用于需保留文件原始属性、快速整合文件的场景,生成的 .tar 文件体积与源文件总和一致。
2.1 打包文件/目录
使用 cvf 组合选项(创建+详细信息+指定文件),实现文件/目录的打包。
# 打包单个文件(将 file1.txt 打包为 file.tar)
tar cvf file.tar file1.txt
# 打包多个文件(将 file1.txt、file2.pdf 打包为 docs.tar)
tar cvf docs.tar file1.txt file2.pdf
# 打包目录(将 /home/centos/data 目录打包为 data.tar)
tar cvf data.tar /home/centos/data
# 打包目录并排除指定文件(排除 tmp 临时文件)
tar cvf backup.tar --exclude="*.tmp" /home/centos
2.2 查看打包文件内容
使用 tvf 组合选项(查看+详细信息+指定文件),无需解压即可查看 .tar 文件中的内容。
# 查看 data.tar 中的文件列表及属性
tar tvf data.tar
# 过滤查看指定类型文件(仅看 .txt 文件)
tar tvf docs.tar | grep ".txt"
2.3 解压打包文件
使用 xvf 组合选项(提取+详细信息+指定文件),将 .tar 文件解压到当前目录。
# 解压 data.tar 到当前目录
tar xvf data.tar
# 解压到指定目录(目录需提前创建)
mkdir -p /tmp/restore
tar xvf data.tar -C /tmp/restore
# 仅解压归档中的指定文件(只解压 file1.txt)
tar xvf docs.tar file1.txt
3 进阶操作:打包并压缩(主流格式)
结合压缩算法打包,可大幅减小文件体积,是备份和传输的常用方式。Linux 中最主流的两种格式为 .tar.gz(压缩速度快)和 .tar.bz2(压缩率更高)。
3.1 gzip 压缩/解压(.tar.gz 格式)
使用 z 选项结合 gzip 算法,压缩速度快、兼容性好,是最常用的压缩格式。
# 打包并压缩(核心选项 zcvf)
# 示例1:压缩单个目录(生成 data.tar.gz)
tar zcvf data.tar.gz /home/centos/data
# 示例2:压缩多个文件(生成 docs.tar.gz)
tar zcvf docs.tar.gz file1.txt file2.pdf img/
# 示例3:压缩时排除多个文件/目录
tar zcvf backup.tar.gz --exclude="*.log" --exclude="tmp/" /home/centos
# 查看压缩文件内容(核心选项 ztvf)
tar ztvf data.tar.gz
# 解压压缩文件(核心选项 zxvf)
# 示例1:解压到当前目录
tar zxvf data.tar.gz
# 示例2:解压到指定目录
tar zxvf docs.tar.gz -C /tmp/docs
# 示例3:仅解压压缩文件中的指定文件
tar zxvf backup.tar.gz home/centos/file1.txt
3.2 bzip2 压缩/解压(.tar.bz2 格式)
使用 j 选项结合 bzip2 算法,压缩率比 gzip 更高,但压缩速度稍慢,适合对体积要求严格的场景。
# 打包并压缩(核心选项 jcvf)
# 示例:压缩大目录(生成 large_data.tar.bz2)
tar jcvf large_data.tar.bz2 /var/log
# 查看压缩文件内容(核心选项 jtvf)
tar jtvf large_data.tar.bz2
# 解压压缩文件(核心选项 jxvf)
# 示例1:解压到当前目录
tar jxvf large_data.tar.bz2
# 示例2:静默解压(不显示详细信息,仅用 jxf)
tar jxf large_data.tar.bz2 -C /tmp/logs
4 特殊场景:实用操作技巧
针对运维中的特殊需求,tar 命令有多个实用技巧,可提升工作效率。
4.1 打包时保留文件权限
使用 p 选项(preserve),打包时保留文件的原始权限(如执行权限、所有者信息),适合系统配置文件备份。
# 备份 /etc 目录并保留权限
tar zcvfp etc_backup.tar.gz /etc
# 解压时也会恢复原始权限
tar zxvfp etc_backup.tar.gz -C /tmp/etc_restore
4.2 增量打包(仅打包更新文件)
使用N 选项,仅打包指定时间点之后更新的文件,减少备份体积和时间。
# 仅打包 2025-12-18 之后更新的文件
tar zcvf incr_backup.tar.gz -N "2025-12-18" /home/centos/data
4.3 压缩大文件时拆分体积
结合 split 命令,将大压缩文件拆分为指定大小的小文件,便于存储到多个设备或网络传输。
# 步骤1:生成大压缩文件
tar zcvf large.tar.gz /var/data
# 步骤2:拆分为每个 500MB 的小文件(生成 large.tar.gz.aa、ab 等)
split -b 500M large.tar.gz large.tar.gz.
# 步骤3:合并拆分的文件(传输后恢复为原文件)
cat large.tar.gz.a* > large.tar.gz
# 步骤4:解压恢复
tar zxvf large.tar.gz
4.4 从压缩文件中提取单个目录
无需解压整个文件,仅提取所需目录,节省时间和空间。
# 从 backup.tar.gz 中仅提取 /home/centos/docs 目录
tar zxvf backup.tar.gz home/centos/docs
5 操作注意事项
选项顺序:f 选项必须放在最后,因为它后面需要紧跟文件名(如 tar cvf file.tar dir/ 正确,tar fcv dir/ file.tar 错误)。
绝对路径问题:打包绝对路径目录(如 /home/centos)时,解压后会保留完整路径;若想以相对路径打包,可先切换到目标目录再操作(如 cd /home && tar cvf centos.tar centos/)。
空间检查:压缩大目录前,先通过 df -h 检查目标分区剩余空间,避免空间不足导致操作失败。
特殊字符处理:若文件/目录名包含空格或特殊字符,需用引号包裹(如 tar cvf "my file.tar" "my file.txt")。
6 核心命令速查表
操作需求 | 命令示例 |
打包目录为 .tar | tar cvf data.tar /home/centos/data |
打包压缩为 .tar.gz | tar zcvf data.tar.gz /home/centos/data |
打包压缩为 .tar.bz2 | tar jcvf data.tar.bz2 /var/log |
查看压缩文件内容 | tar ztvf data.tar.gz |
解压 .tar.gz 到指定目录 | tar zxvf data.tar.gz -C /tmp/restore |
保留权限备份配置文件 | tar zcvfp etc.tar.gz /etc |
总结
8455线路检测中心官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,8455线路检测中心整理了运维必备的工具包免费分享给大家使用,包含文件备份脚本、批量压缩工具等,需要的朋友可以直接咨询。
更多技术知识,8455线路检测中心期待与你一起探索。
售前咨询
售后咨询
备案咨询
二维码

TOP