压缩打包介绍

压缩完的文件,一般都是会小很多,更利于文件的传输和节省磁盘空间,带宽的资源也会减少。

linux下常见的压缩文件(都是后缀名)

.gz

.bz2

.tar

.tar.gz

.tar.bz2

.tar.xz 

linux下的文件后缀名可加可不加,但压缩文件最好用上后缀名。为了更方便的知道是由哪种压缩工具所压缩。

          gzip压缩工具

blob.png

先弄个大文件做测试:

blob.png

blob.png

find /etc/-type f -name "*conf" -exec cat{} >> 1.txt \;

把查找出来后所有.conf结尾的文件的内容全部追加到 1.txt文件下。

-exec cat {} 针对查找出来的每个文件进行cat

gzip  格式: gzip [-d#] filename #为1~9数字

     -d:解压才使用

     -#:表示压缩等级,1为最差,9为最好,6为默认 

           (级别越高,压缩文件也大)

压缩格式: gzip  filename 

blob.png

解压格式:gzip -d filename.gz

blob.png

此时可以发现解压后的文件大小不是我们追加时文件大小,是因为我们解压的时候会把文件中虚的(无用的空间除了)

使用 wc -l filename 可以查看文件的行数

查看一个压缩文件的信息:

blob.png

这里可以看出是使用什么工具压缩、最后一次秀爱上时间和压缩级别

查看压缩文件内容:

zcat filename.gz

gzip不能压缩目录

其他用法:压缩文件时指定到一个目录下,且这文件不消失

(解压时也行)

只需在压缩或解压时,加上"-c"选项 然后">"重定向到另一个文件就行了(如图)

blob.png

       

      

         bzip2压缩工具

blob.png

 命令格式: bzip2 [-dz] filename ;

 -z:压缩

 -d:解压缩

压缩级别1-9,默认为9

安装bzip2:yum install -y bzip2

bzip压缩工具的用法和gzip工具大同

解压缩:bzip2 -d 1.txt.bz2 == bunzip2 1.txt.bz2

同时也是支持 -c选项

blob.png

查看压缩文件内容:

bzcat filename.bz2

             xz压缩工具

blob.png

格式:xz [-dz] filename 

-d :解压缩

-z :压缩

压缩级别:1-9 默认为6

blob.png

解压缩:xz -d 2.txt.xz ==unxz 2.txt.xz

支持 -c 选项和 使用 xzcat 查看压缩文件内容

blob.png

              zip压缩工具

blob.png

zip压缩:可以压缩目录和文件

yum install -y zip

压缩文件:

zip压缩文件时,格式:zip filename.zip  filename

blob.png

压缩目录:

zip压缩目录 

zip -r 压缩后目录名.zip(这里的目录名可自定) 源目录

blob.png

zip压缩文件和目录,原来的文件不会消失

安装unzip 解压工具:yum install -y unzip

解压目录和文件:

unzip 目录名.zip

unzip cansheng.zip

blob.png

因为zip压缩时没有自动删除源文件,所以会出现提示:

zip解压可以解压到指定的目录下(否则解压到当前目录)

解压文件到指定目录

unzip 2.txt.zip -d test/

使用zip压缩的不能使用cat工具才看压缩文件内容

但是使用:unzip -l cansheng.zip

可看到目录下的文件列表

            

           tar打包工具

blob.png

tar 把所有文件整合成一个大文件,方便复制移动传输。

命令格式:tar [-zjxcvfpP] filename.tar

-t :查看tar包里的文件(-tf一起用)

-c :建立一个tar包或压缩文

-x :解包或者解压缩

-v :可视化

-f :后面跟文件名(-f filename,表示压缩后的文件名为filename,或者解压文件名为filename,多个参数是-f选项放最后)

-z:表示同时用gzip压缩

-j:表示同时用bzip2压缩

-J:表示同时用xz压缩

--exclde filename :打包或压缩时过滤掉filename文件

打包:tar -cvf canshenglinux.tar canshenglinux

(意思就是把canshenglinux这个目录打包成名字为canshenglinux.tar这个包名;后面包名可自定义,但是一定要加.tar)

blob.png

解包:tar -xvf canshenglinux.tar

  目录和文件一起打包

tar -cvf canshenglinux.tar canshenglinux 3.txt 4.txt

blob.png

查看tar包下的文件列表

tar -tf cansheng.tar

blob.png

打包的同时过滤掉不需要打包的文件或目录(--exclude)

tar -cvf canshenglinux.tar --exclude cansheng4 canshenglinux 3.txt 4.txt

(把canshenglinux目录下的cansheng4过滤掉,然后和3.txt,4.txt 一起打包到名字为canshenglinux.tar包下)

--exclude 可多个一起使用

tar -cvf canshenglinux.tar --exclude cansheng4 --exclude "*.txt" canshenglinux 3.txt 4.txt

                打包并压缩

-z:表示同时用gzip压缩

-j:表示同时用bzip2压缩

-J:表示同时用xz压缩

1.tar -czvf canshenglinux.tar.gz --exclude cansheng4 canshenglinux 3.txt 4.txt

2.tar -cjvf canshenglinux.tar.bz --exclude cansheng4 canshenglinux 3.txt 4.txt

3.tar -cJvf canshenglinux.tar.xz --exclude cansheng4 canshenglinux 3.txt 4.txt

解包:

把"-c"换为"-x"

查看打包并压缩文件的文件列表

tar -tf filename.tar.gz(bz/xz)