Linux解压缩命令-tar

Posted by 周思进 on July 27, 2019

学习了《Linux实战技能100讲》专栏里的打包压缩和解压缩一节,对之前总是搞不清楚的tar命令有了新的了解,在此记录下。

tar命令最初是用来将文档打包备份到磁带上 (tape archive)


常用打包命令:

tar cvf file.tar file1 file2 // 将file1和file2文件打包到file.tar 选项c, –create : 创建归档文件命令

选项v, –verbosely : 显示打包的详细信息

选项f, –file : 指定目标归档文件名


常用解包命令:

tar xvf file.tar -C dir

选项x, –extract :从归档文件中提取文件

选项-C :解压到指定目录下


文档打包后,可以通过gzip和bzip2命令进行压缩操作,以减小文件所占空间。

在上述打包文件基础上,通过gzip命令压缩默认显示的文件后缀是tar.gz,通过bzip2命令压缩默认显示的文件后缀是tar.bz2.

而tar命令集成了这两个解压缩命令,所以可以直接通过tar命令完成打包+压缩的操作。只需要在原有命令基础上增加如下两个选项即可

选项-j , –bzip2

选项-z, –gzip

而压缩指定的文件名,为了便于识别是用的哪种压缩算法,则按照上面默认的文件后缀名命名即可。当然事实上你命名成啥后缀都可以,这种情况就只能通过file命令来查看该归档文件用了什么压缩算法。

另外结合Linux帮助命令中学习的知识,tar命令不属于shell内置命令,可以通过’tar –help’来查看帮助手册,不过也可以通过man命令来查看,man手册相对更详细。


在查看man帮助手册的时候,有如下这段描述:

A function letter need not be prefixed with ``-‘’, and may be combined with other single-letter options. A long function name must be prefixed with –.

之前经常会搞不清命令选项是该用一个‘-’,还是两个‘-’,还是不需要带,上面描述则表示如果是一个完整的选项名称,如单个选项字母c是create的简写,在使用create作为选项命令的时候,则需要在前面加两个‘-’,如果是单个字母,是可加可不加,而且是可以跟其它单个字母选项连在一起使用。不过它这里也写了只有function letter简写的单个字母可以不需要带前缀‘-’,如果第一个简写字母不是function letter的简写字母,还是需要带‘-’字符。