tar命令详解

Linux下的gzip和bzip2命令都是针对文件的压缩。即便针对目录来压缩,也是将目录下的文件逐个压缩,而不是像Windows下的winrar软件同样,能够将目录整个压缩。那要实现目录整个压缩的功能,就要用到tar这个打包命令。而tar不只有打包的功能,其还能经过调用bzip2或gzip进行压缩和解压缩。ide

tar的选项很是多,经常使用的选项含义以下:blog

-c:打包文件,可搭配-v来察看过程当中被打包的文件ip

-t:查看打包后的文件中都打包了哪些文件文档

-x:解打包或解压缩。能够搭配-C(大写C)将文件解压到特写目录中去get

-j:经过bzip2的支持进行压缩/解压缩,此时通常产生的文档名为*.tar.bz2it

-z:经过gzip的支持进行压缩/解压缩,此时通常产生的文档名为*.tar.gzclass

-v:在压缩/解压缩的过程当中,将正在处理的文件名显示出来cli

-f filename:-f后面跟要产生的文件名。建议-f单独写一个选项打包

-C 目录:解压缩的时候,可使用-C选项来解压到特定目录中去软件

-p:保留原数据的权限与属性

-P(大写P):保留绝对路径

--exclude=file:能够将某文件单独去掉,不打包它

其实tar命令最经常使用的选项以下:

tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名 //此命令用于打包和压缩

tar -jtv -f filename.tar.bz2 //此命令用于查询文件

tar -jxv -f filename.tar.bz2 -C 要解压到的目录 //此命令用于解压到特定目录

在上述3个命令中,都是使用了bzip2进行压缩和解压。其中,filename.tar.bz2便是压缩产生的那个文件。而最后一个解压的命令,若是不加-C选项,是默认解压到当前目录。

再值得一提的是,因为tar命令不像gzip和bzip2那样会自动产生新文件名,因此须要咱们自定义产生的压缩文件包。若是是只是打包,则最好将产生的文件命名为filename.tar,若是是又调用bzip2进行了压缩,则最好将产生的文件命名为filename.tar.bz2。

clip_image002

上图中,使用tar将新建立的file1/file2/file3/file4进行了打包和压缩,并产生了新的压缩文件file1234.tar.bz2。

而要查询压缩文件中都有哪些文件,能够:

clip_image004

而解压缩的话,能够:

clip_image006

须要注意的是,在某些教材上,将仅使用tar -c进行打包的文档叫作tarfile,而若是在打包的同时进行了压缩的操做,则将产生的文件叫作tarball。

相关文章
相关标签/搜索