不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

tar命令-大文件分卷压缩

Posted on 2021-03-21 18:03  三年三班王小朋  阅读(2521)  评论(0编辑  收藏  举报

linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。用来压缩和解压文件。tar本身不具有压缩功能,他是调用压缩功能实现的 。


 

1、命令格式:tar  [必要参数]  [选择参数]  [文件] 、

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思


 

2、常见解压/压缩命令

tar 

解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName

.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName

.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName

.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知

.Z
解压:uncompress FileName.Z
压缩:compress FileName

.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName

.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName 


 

3、压缩解压范例:

压缩
tar –cvf jpg.tar *.jpg  将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg   将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg   zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar  解压 tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2   解压 tar.bz2
tar –xZvf file.tar.Z   解压tar.Z
unrar e file.rar 解压rar
unzip file.zip 解压zip


 

4、总结
*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
*.tar.gz和*.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2用tar –xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压


 

tar命令分卷压缩

tar 分卷压缩

tar -zcf - 文件名/目录名 | split -b 2048m -d - 文件名.tar.gz

 

ps:分卷压缩文件或者目录,并保持每个压缩包的大小不超过2G字节。命令执行后,会生成 test.tar.gz00、test.tar.gz01等文件

cat 文件名.tar.gz* | tar -xzf -

 

ps:将各个分卷压缩包解压到当前目录

cat 文件名.tar.gz* > 文件名.tar.gz

 

ps:将各个分卷压缩包合成为一个 文件名.tar.gz文件

 

实战演练

将a.log文件打包gz压缩成每个最大5k的分卷

1、分卷压缩

tar zcvf - a.log |split -b 5k - log.tar.gz

 

生成 a.tar.gzaa,a.tar.gzab,a.tar.gzac,a.tar.gzad。四个文件

2、分卷解压缩

cat a.tar.gz* | tar -xzvf -

 

 将分卷合并解压

3、分卷合并

cat a.tar.gz* > a.tar.gz

 

将各个分卷压缩包合成为一个 a.tar.gz 的文件