gzip,zip,bzip2,xz,tar文件压缩和归档

时间:2021-09-18 19:59:29


gzip [-d#] 文件   其中#为1-9的数字

gzip + 文件  压缩文件,删除源文件

gzip -d + 文件  解压缩文件,删除源文件

压缩等级:1压缩最差,9压缩最好,6为默认

zcat查看.gz的文本文件内容


bzip2 + 文件  压缩文件,删除源文件

bzip2 -d + 文件  解压缩文件,删除源文件

bzcat查看.bz2的文本文件内容


gzip和bzip2都不能压缩目录


zip和unzip

zip  + 压缩后文件名.zip + 文件      压缩文件,源文件不会消失

unzip + 压缩文件

zip -r + 压缩后文件名.zip + 目录      压缩目录,源文件不会消失

可以同时压缩多个文件和目录


xz压缩和解压缩

xz + 文件  压缩文件,删除源文件

xz -d + 文件  解压缩文件,删除源文件

xzcat查看.xz的文本文件内容

xz不可以压缩目录


tar打包工具详解

(打包)tar -cvf + 打包的名称.tar  + 需要打包的多个文件或目录     打包后,源文件不消失

(解包)tar -xvf + 打包的名称.tar

(解包到指定目录)tar -C  + 解包到的路径 +  -xvf  +  打包的名称.tar

 tar打包和压缩并用

(gzip格式打包压缩) tar -zcvf  + 打包压缩名.tar.gz + 需要打包的多个文件或目录  

(gzip格式解包解压缩)tar -zxvf + 打包压缩名.tar.gz      解包后,源文件不消失

(bzip2格式打包压缩) tar -jcvf  + 打包压缩名.tar.bz2 + 需要打包的多个文件或目录 

(bzip2格式解包解压缩)tar -jxvf + 打包压缩名.tar.gz      解包后,源文件不消失

(xz格式打包压缩) tar -Jcvf  + 打包压缩名.tar.xz + 需要打包的多个文件或目录

(xz格式解包解压缩)tar -Jxvf + 打包压缩名.tar.gz      解包后,源文件不消失

gzip和bzip2都可以用 tar  -tf  文件名.gz或文件名.bz2查看压缩包里的文件列表

xz可以用tar  -tJf   文件名.xz查看压缩包里的文件列表 

打包同时过滤一些文件

tar  --exclude  +  过滤目录下的子文件   -cvf  + 打包的名称.tar   +   过滤子文件的目录

如:111目录下有222目录,222目录下有一个xiaoxuan.txt和一个xixi目录

tar  --exclude   xiaoxuan.txt   -cvf    111.tar    111   (过滤出222目录下xiaoxuan.txt,就不会将xiaoxuan.txt打包)

tar  --exclude   xiaoxuan.txt  --exclude  xixi   -cvf    111.tar    111     (过滤出222目录下xiaoxuan.txt和xixi目录,就不会将xiaoxuan.txt和xixi目录打包)


tar在linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 


参数: 

-c :create 建立压缩档案的参数; 

-x : 解压缩压缩档案的参数; 

-z : 是否需要用gzip压缩; 

-v: 压缩的过程中显示档案; 

-f: 置顶文档名,在f后面立即接文件名,不能再加参数 

举例: 一,将整个/home/www/images 目录下的文件全部打包为 /home/www/images.tar 

[root@xoaocom ~]# tar -cvf /home/www/images.tar /home/www/images ← 仅打包,不压缩 

[root@xoaocom ~]# tar -zcvf /home/www/images.tar.gz /home/www/images ← 打包后,以gzip压缩 

在参数f后面的压缩文件名是自己取的,习惯上用tar来做,如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件 


举例: 二,将 /home/www/images.tar.gz 解压到/home/www下面 

[root@xoaocom ~]# cd /home/www 

[root@xoaocom ~]# tar -zxvf /home/images.tar.gz 


解压到指定的目录 

[root@xoaocom ~]# tar -zxvf /home/images.tar.gz -C /specific dir