0%

tar命令

一、常用用法

1.1、打包压缩常用用法

tar --exclude='PATTERN' -cavf 打包压缩后文件名 待打包压缩目录或者一般文件

1.2、解压缩解包常用用法

tar --exclude='PATTERN' -xavf 打包压缩后文件名

二、含义与选项

2.1、含义

2.1.1、打包压缩含义

对待打包压缩目录或者一般文件进行打包压缩,其中压缩这个步骤是可选的。

2.1.2、解压缩解包含义

对打包压缩后文件,进行解压缩解包,其中解压缩这个步骤是可选的。

2.2、选项

2.2.1、打包压缩选项

“–exclude=’PATTERN’”:打包时,过滤掉指定文件。“PATTERN”是一个通配符模式表达式。可以有多个“–exclude”选项。
“c”:表示打包(助记“create”)。
“a”:根据打包压缩后文件名的后缀来确定压缩算法,如果不能找到相应的压缩算法,那么就不压缩,即只打包而已。具体见“三、其他”(助记“auto”)。
“v”:打印过程中的日志信息。
“f”:指定打包压缩后文件名,比如有“test.tar.gz,test.tar.xz,test.tgz,test.tar”(助记“file”)。
“待打包压缩目录或者一般文件”:可对一个目录进行打包压缩,也可对一个一般文件进行打包压缩。

2.2.2、解压缩解包选项

“–exclude=’PATTERN’”:解包时,过滤掉指定文件。“PATTERN”是一个通配符模式表达式。可以有多个“–exclude”选项。
“x”:表示解包(助记“extract”)。
“a”:根据打包压缩后文件名的后缀来确定解压缩算法,具体见“三、其他”(助记“auto”)。
“v”:打印过程中的日志信息。
“f”:指定打包压缩后文件名,比如“test.tar.gz,test.tar.xz,test.tgz,test.tar”(助记“file”)。

三、其他

tar命令支持很多压缩算法,比如“gzip,bzip2,lzip,lzma,lzop,xz和compress”等。在打包过程中,在对目录或者一般文件打包得到一个打包文件后,可以选择某个上述压缩算法对该打包文件进行压缩,即先打包再压缩;在解包过程中,完全是个逆过程,即先解压缩再解包。
为了省去需要明确指定使用的压缩算法的麻烦,tar命令提供一个“-a”选项,通过启用该选项,tar命令可以根据“打包压缩后文件名”中的后缀来确定需要使用的压缩算法。
后缀跟压缩算法的映射见表1。

表1

后缀 压缩算法
.gz gzip
.tgz gzip
.taz gzip
.Z compress
.taZ compress
.bz2 bzip2
.tz2 bzip2
.tbz2 bzip2
.tbz bzip2
.lz lzip
.lzma lzma
.tlz lzma
.lzo lzop
.xz xz

接下来举几个例子如下:
只打包不压缩:tar -cavf tmp.tar tmp
打包gzip压缩:tar -cavf tmp.tar.gz tmp
打包xz压缩:tar -cavf tmp.tar.xz tmp
打包gzip压缩,过滤掉以“txt”结尾的文件:tar --exclude='*.txt' -cavf tmp.tar.gz tmp
解压解包:tar -xavf tmp.tar.xz
解压解包:tar -xavf tmp.tar.gz
解包:tar -xavf tmp.tar
解压解包,过滤掉“bin”目录文件:tar --exclude='bin' -xavf tmp.tar.gz


参考文献: [1]https://www.gnu.org/software/tar/manual/html_node/gzip.html#auto_002dcompress [2]man tar
您的支持将鼓励我继续分享!