tar 命令常见用法

tar 是 Linux 下打包和解包的老工具,配合 gzip、bzip2 还能顺便压缩。常用参数就这几个:

参数 含义
-c 创建归档
-x 解开归档
-t 列出归档内容
-v 显示处理过程
-f 指定归档文件名,必须放在最后、紧跟文件名
-z 用 gzip 压缩/解压(.tar.gz)
-j 用 bzip2 压缩/解压(.tar.bz2)

打包

1
2
3
4
5
6
7
8
# 只打包,不压缩
tar -cvf archive_name.tar directory_name

# 打包并用 gzip 压缩
tar -czvf archive_name.tar.gz directory_name

# 打包并用 bzip2 压缩
tar -cjvf archive_name.tar.bz2 directory_name

解包

1
2
3
tar -xvf archive_name.tar
tar -xzvf archive_name.tar.gz
tar -xjvf archive_name.tar.bz2

想解到别的目录,加 -C 目标目录,例如 tar -xzvf archive_name.tar.gz -C /opt。

其他常用操作

1
2
3
4
5
6
7
8
9
10
11
# 查看归档里有哪些文件
tar -tvf archive_name.tar

# 只解出其中一个文件
tar -xvf archive_name.tar file_name

# 往已有的归档里追加文件
tar -rvf archive_name.tar file_name

# 从归档里删除文件
tar --delete -f archive_name.tar file_name

追加(-r)和删除(--delete)只对未压缩的 .tar 有效,.tar.gz 要先解开再重新打包。