您的位置:

Linux运维必备:tar命令的压缩、解压、打包与归档

一、 tar命令简介

tar全称 tape archive,是一种在Unix和类Unix系统中常用的打包工具。tar命令可以将多个文件或目录打包成一个文件,通过tar命令打包的文件称为tarball。tar命令还可以对 tarball 进行压缩和解压操作,常见的压缩格式有gz、bz2等,这些格式可以互相转换。

二、 tar命令的基本格式

tar命令的基本格式为:

tar [options] [filename]

其中,options 表示 tar 命令的参数选项,filename 表示要处理的文件名。如果要同时处理多个文件或目录,可以将它们作为参数逐一列出。

三、 tar命令的常用参数

1、 压缩参数

压缩参数用于将文件或目录压缩成tarball。

i. 创建tarball
tar czf filename.tar.gz file1 file2 dir1

说明:

其中,c 表示创建新的 tarball,z 表示使用 gzip 压缩,f 表示指定文件名。file1、file2、dir1 表示要打包的文件和目录。

ii. 查看tarball内容
tar tf filename.tar.gz

说明:

其中,t 表示列出 tarball 中的文件列表,f 表示指定文件名。

2、 解压参数

解压参数用于解压tarball。

i. 解压tarball
tar xzf filename.tar.gz

说明:

其中,x 表示解压 tarball,z 表示使用 gzip 解压,f 表示指定文件名。

3、 打包参数

打包参数用于将多个文件或目录打包成一个文件,但不进行压缩。

i. 打包文件或目录
tar cf filename.tar file1 file2 dir1

说明:

其中,c 表示创建新的 tarball,f 表示指定文件名。file1、file2、dir1 表示要打包的文件和目录。

4、 归档参数

归档参数用于将多个文件或目录打包成一个文件,并进行压缩。

i. 归档文件或目录
tar czvf filename.tar.gz file1 file2 dir1

说明:

其中,c 表示创建新的 tarball,z 表示使用 gzip 压缩,v 表示显示打包的详细过程,f 表示指定文件名。file1、file2、dir1 表示要打包的文件和目录。

四、 tar命令实例

1、 压缩文件

将文件 a.txt 压缩成 tarball,并使用 gzip 进行压缩:

tar czf a.tar.gz a.txt

2、 压缩目录

将目录 mydir 压缩成 tarball,并使用 bzip2 进行压缩:

tar cjf mydir.tar.bz2 mydir

3、 解压tarball

解压 tarball a.tar.gz:

tar xzf a.tar.gz

4、 打包文件

打包文件 a.txt 和 b.txt:

tar cf ab.tar a.txt b.txt

5、 归档目录

将目录 mydir 打包成 tarball,并使用 gzip 进行压缩:

tar czvf mydir.tar.gz mydir

五、 总结

通过以上介绍,我们了解了 tar 命令的基本格式、常用参数和实例操作,掌握了如何使用 tar 命令进行压缩、解压、打包和归档操作。在 Linux 运维中,熟练掌握 tar 命令的使用是必不可少的技能。