在日常的 Linux 使用和服务器维护中,归档与压缩是非常常见的操作,而 tar
命令正是这一任务的得力工具。它不仅可以将多个文件打包为一个文件,还可以配合 gzip、bzip2、xz 等压缩程序进行压缩,方便传输与备份。
本文将深入浅出地介绍 tar
命令的基本语法、常见用法以及典型实战案例。
一、什么是 tar 命令?
tar
是 “tape archive”(磁带归档)的缩写,最初是为磁带存储而设计的打包工具。虽然现在磁带已经不常用了,但 tar
依旧是 Linux/Unix 系统中最常用的归档工具之一。
它的两个主要功能是:
- 打包(归档):将多个文件或目录合并成一个文件(通常是
.tar
后缀)。 - 压缩:结合其他压缩工具,实现
.tar.gz
、.tar.bz2
、.tar.xz
等格式的压缩归档文件。
二、tar 命令的基本语法
tar [选项] [归档文件名] [要打包或解包的文件或目录]
常用选项如下:
参数 | 含义 |
---|---|
-c |
创建归档文件(create) |
-x |
解开归档文件(extract) |
-v |
显示详细过程(verbose) |
-f |
指定归档文件名(file) |
-z |
使用 gzip 进行解压缩(.gz) |
-j |
使用 bzip2 进行解压缩(.bz2) |
-J |
使用 xz 进行解压缩(.xz) |
-C |
指定解压路径(directory) |
三、常见用法示例
1. 将文件夹打包为 .tar
tar -cvf archive.tar mydir/
说明:
-c
创建归档-v
显示过程-f archive.tar
指定输出文件名
2. 打包并压缩为 .tar.gz
tar -czvf archive.tar.gz mydir/
等同于先打包 .tar
,再用 gzip
压缩。
3. 打包并压缩为 .tar.bz2
tar -cjvf archive.tar.bz2 mydir/
压缩比比 .gz
高,但速度稍慢。
4. 打包并压缩为 .tar.xz
tar -cJvf archive.tar.xz mydir/
压缩比最高,适合体积大的归档操作。
5. 解开 .tar
文件
tar -xvf archive.tar
6. 解压 .tar.gz
文件
tar -xzvf archive.tar.gz
7. 解压到指定目录
tar -xzvf archive.tar.gz -C /target/directory/
8. 查看归档文件内容(不解压)
tar -tvf archive.tar
9. 仅解压归档中的某个文件(需精确路径)
# 先查看归档结构
tar -tzf archive.tar.gz
# 再提取某个具体文件(必须路径一致)
tar -xzf archive.tar.gz project/README.md
💡 提示:路径大小写敏感,且必须与归档结构完全一致。
四、实战小技巧
1. 忽略某些文件打包
使用 --exclude
选项:
tar --exclude='*.log' -czvf archive.tar.gz mydir/
2. 增量备份
使用 --listed-incremental
:
tar --listed-incremental=snapshot.file -czvf backup.tar.gz mydir/
五、总结
tar
命令在 Linux 中具有极高的实用价值,无论是进行系统备份、项目打包、文件分发,还是日常的压缩归档,都是不可或缺的工具。掌握 tar
的常用参数和使用技巧,能让你的 Linux 操作更加高效与优雅。
欢迎收藏转发本博文,让更多人一起掌握 Linux 魔法指令!如有问题或补充,欢迎留言讨论。
声明:本文为原创文章,版权归深谋之道所有,欢迎分享本文,转载请保留出处!