打包压缩工具

6.1-6.4gzip压缩工具

 

find命令复习,-exec后跟命令,此处>>为追加重定向后面不要忘了 ;

 

 

file 1.txt.gz 查看具体信息

zcat 1.txt.gz 查看压缩文件内容

gzip -d 或 unzip 解压缩

gzip -c 1.txt > /root/1.txt.gz 原文件不覆盖,压缩成新文件

gzip -d -c 1.txt.gz > /root/1.txt 解压缩时,压缩文件保存不覆盖

上面的gzip -d 和gunzip 一样都是解压缩

 

bzip2压缩工具,压缩更狠,和gzip基本相同

 

xz压缩工具,用的并不多都相似,在打包压缩时会出现.tar.xz

zip压缩工具

 

支持压缩目录 需要加上 zip -r

unzip解压可以指定目录 -d 不能更改压缩后的名字只能放在其目录下

 

tar打包工具

 

打包解包会覆盖原文件

tar -tf 查看包列表

--exclude 过滤指定文件不打包,-f后面先跟打包后文件名

 

打包并压缩

 

tar命令的常用选项如下表所示:

选项

选项

作用

-c

--create

创建压缩文件

-x

--extract, --get

解压文件

-f

--file

指定文件名

-v

--verbose

可视化

所以解压普通的tar文件命令就是:

tar –xvf file.tar

-x表示解压

tar可调用的压缩程序

选项

压缩格式

压缩程序

-z

.gz

gzip

-j

.bz2

bzip2

-J

.xz

xz

当看到tar.gz后缀的压缩包,使用-z选项调用gzip程序解压,

当看到tar.bz2后缀的压缩包,使用-j选项调用bzip2程序解压。

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压tar.bz2

tar –xJvf file.tar.xz //解压tar.xz

-a选项可以根据后缀名自动选择调用相应的压缩程序,所以上面的3种情况可以直接使用:

$ tar -xavf file.tar.xxx //解压tar.xxx | 万能解压命令

解压到指定的目录

通过查看帮助发现了一个新选项-C --directory=DIR 改变目录DIR。假设我们要把某文件解压到test目录,在前面的基础上加上-C选项即可:

$ tar -xavf file.tar.gz -C ./test/  //解压gzip文件到指定目录

$ unzip file.zip //解压zip

$ unzip file.zip -d ./test              //解压zip文件到指定目录

习题

1. gzip, bzip2 能否直接压缩目录呢?
不能直接压缩目录

2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令。
gzip 1.txt
gzip -d 1.txt.gz
bzip2 1.txt
bzip2 -d 1.txt.bz2

3. tar 在打包的时候,如果想排除多个文件或者目录如何操作?
tar cvf 123.tar --exclude a.txt --exclude b.txt 123/

4. 请实验,如果不加 "-" 是否正确, 如 tar zcvf  1.tar.gz  1.txt 2.txt ?
不加 - 一样没有问题

5. 如何使用tar打包和解包 .tar.gz, .tar.bz2 的压缩包?
tar zcvf  1.tar.gz 1
tar zxvf 1.tar.gz
tar jcvf 1.tar.bz2 1
tar jxvf 1.tar.bz2

6. 找一个大点的文件,使用tar 分别把这个文件打成 .tar.gz和.tar.bz2 压缩包,比较一下哪个包会更小,从而得出结论,是gzip压缩效果好还是bzip2压缩效果好?
理论上.tar.bz2的压缩包小一些,但个别时候,有相反的情况。但大多时候bzip2压缩效果好。

7. 使用tar打包并压缩的时候,默认压缩级别为几? 想一想如何能够改变压缩级别呢?(提示,tar本身没有这个功能哦,可以尝试拆分打包和压缩)
tar打包压缩时,是按照gzip和bzip2的默认压缩级别来的,gzip工具默认压缩级别为6,bzip2默认压缩级别为9.
改变默认压缩级别可以这样来做,首先tar打包,然后再使用gzip或者bzip2压缩工具来压缩,压缩的时候指定压缩级别。如:  tar cvf 1.tar 123/;  gzip -2 1.tar

原文地址:https://www.cnblogs.com/0329linux/p/7068226.html