Linux tar 命令详解:用于打包多个文件或目录为一个 .tar 文件

Linux tar 命令详解


一、命令简介

tar(Tape ARchive)是 Linux 和 UNIX 系统中常用的归档工具,用于打包多个文件或目录为一个 .tar 文件,并可结合压缩工具(如 gzipbzip2xz)生成 .tar.gz.tar.bz2 等格式的压缩包。

虽然 tar 最初是为磁带设备设计的归档工具,但如今已广泛应用于本地文件打包、压缩传输、备份恢复等场景,是日常运维和开发中不可或缺的工具之一。


二、命令语法
tar [选项]... [文件]...

常见基本用法格式:

tar -cvf archive.tar file1 file2 dir/
tar -xvf archive.tar
tar -tzf archive.tar.gz

三、常用选项说明
选项说明
-c创建新归档(create)
-x解包归档(extract)
-t显示归档内容(list)
-f <文件名>指定归档文件名(file)
-v显示详细过程(verbose)
-z使用 gzip 压缩或解压(.tar.gz
-j使用 bzip2 压缩或解压(.tar.bz2
-J使用 xz 压缩或解压(.tar.xz
-C <目录>解压到指定目录
--exclude=<模式>排除匹配的文件或目录
--remove-files打包后删除原文件(归档后清理)

四、归档压缩操作示例

1. 创建 .tar 归档文件
tar -cvf backup.tar file1.txt file2.txt dir/
  • 创建名为 backup.tar 的归档包。

  • 包含两个文件和一个目录。

  • 不压缩,仅打包。


2. 创建 .tar.gz 归档(gzip压缩)
tar -czvf backup.tar.gz /home/user/
  • -z 使用 gzip 压缩。

  • 适合打包后直接传输或下载。


3. 创建 .tar.bz2 归档(bzip2压缩)
tar -cjvf backup.tar.bz2 mydata/
  • bzip2 压缩率高于 gzip,适合空间敏感的备份。


4. 创建 .tar.xz 归档(xz压缩)
tar -cJvf backup.tar.xz ./project/
  • xz 是压缩率最高但较慢的格式,适合归档归档长期存放数据。


5. 只打包,不压缩
tar -cvf myfiles.tar *.log
  • 创建未压缩的 .tar 文件,适合只做归档(如备份)


五、解包解压操作示例

1. 解包 .tar 文件
tar -xvf archive.tar
  • archive.tar 解包到当前目录。


2. 解压 .tar.gz 文件
tar -xzvf archive.tar.gz

3. 解压 .tar.bz2 文件
tar -xjvf archive.tar.bz2

4. 解压 .tar.xz 文件
tar -xJvf archive.tar.xz

5. 解压到指定目录
tar -xvf archive.tar -C /tmp/myrestore/
  • 使用 -C 指定解包目标目录。


六、查看归档内容
tar -tvf archive.tar

或压缩文件:

tar -tzvf archive.tar.gz
  • 不解包,仅查看内容。


七、从归档中提取单个文件
tar -xvf archive.tar etc/hosts
  • 仅提取 etc/hosts 文件(路径区分大小写)。


八、排除文件打包
tar -czvf backup.tar.gz /home/user --exclude=/home/user/cache
  • 打包时排除指定目录或文件。


九、归档后删除原始文件
tar -czvf log.tar.gz *.log --remove-files
  • 打包完成后自动删除源文件,常用于日志压缩归档。


十、典型应用场景
场景示例
网站备份打包 /var/www/ 下所有网站文件
日志归档定期将日志打包转存
发布部署打包代码目录供其他主机下载
数据迁移使用 tar 创建压缩包跨服务器传输
灾备还原配合 cron 做定期打包备份

十一、与其他压缩工具比较
工具特性支持压缩格式优势
tar打包为主,配合压缩命令使用gzip、bzip2、xz打包/压缩一体化,灵活
zip/unzip打包压缩一体,常见于 Windowszip跨平台好,支持解压软件多
gzip仅压缩单个文件.gz快速简单
xz高压缩比.xz适合存档保存
7z高压缩比、加密支持.7z功能强但依赖更多工具

十二、注意事项与技巧
  • .tar.gz.gz,前者是打包后压缩,后者仅压缩单个文件。

  • 文件名中不要忘记 -f 后要紧跟归档文件名。

  • 使用 --exclude 时路径应准确(绝对路径更稳妥)。

  • 解压路径中应提前创建目录,确保目标文件不会覆盖现有数据。

  • 可与 findxargscron 等组合使用构建自动化脚本。


十三、总结
项目内容
命令tar
作用打包归档,结合压缩工具生成压缩包
常用压缩.tar.gz, .tar.bz2, .tar.xz
应用场景数据备份、文件归档、跨主机传输
替代工具zip, gzip, 7z(可结合使用)
操作建议使用 -v 查看详情,-C 控制路径,--exclude 排除不需要的文件

tar 是 Linux 世界中无处不在的文件打包压缩工具,其灵活性和脚本友好性使其成为自动化任务和系统备份中的首选工具之一。掌握 tar 的多种使用方法,将显著提升你在 Linux 环境下的效率与可靠性。

这里是封面:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值