6.1压缩打包介绍linux
6.2gzip压缩工具windows
6.3bzip2压缩工具bash
6.4xz压缩工具服务器
文件压缩后的大小不能更具压缩工具来定论,他的大小是根据文件的内容和压缩工具一块儿定论的。less
6.1压缩打包介绍ide
咱们平时在网上下载文件通常都是压缩的,压缩会使咱们的文件空间缩小。压缩文件咱们在网上传输的时间也会有所减小,带宽资源也会减小。说到带宽其实咱们家庭使用的带宽和公司使用的不是同样的,家庭使用的下载速度和上传速度不对等,而公司的是对等的。因此公司的宽带比较贵。若是咱们服务器上的文件常常被下载咱们就要对文件进行压缩了(这样咱们能够节约不少带宽资源)。工具
以前咱们说过windows系统的文件后缀名能够分类,可是在咱们linux系统里面文件的后缀名没有这么重要,可是咱们为了好区分咱们把linux系统里面相同的文件,使用同样后缀名。spa
6.2gzip压缩工具code
[root@MOMOCO-02 ~]# cd /tmp/
[root@MOMOCO-02 tmp]# ls
1.1.txt
1.2.txt
1.txt
fstab
newdisk
passwd.sh
systemd-private-4a8637beb8de42fb8464053cf2d212d8-chronyd.service-qRi1F0
systemd-private-4a8637beb8de42fb8464053cf2d212d8-vgauthd.service-KXhyWb
systemd-private-4a8637beb8de42fb8464053cf2d212d8-vmtoolsd.service-xaK1rP
systemd-private-9efcc82ee01b48909302a65e60af7a1d-chronyd.service-1IixSo
systemd-private-9efcc82ee01b48909302a65e60af7a1d-vgauthd.service-7iWWfH
systemd-private-9efcc82ee01b48909302a65e60af7a1d-vmtoolsd.service-JqnO61
systemd-private-a655ede1d77c4fa6ae782f90c506592b-chronyd.service-dQVYew
systemd-private-a655ede1d77c4fa6ae782f90c506592b-vgauthd.service-E2oycH
systemd-private-a655ede1d77c4fa6ae782f90c506592b-vmtoolsd.service-YXlLvS
txt
xxx.conf
[root@MOMOCO-02 tmp]# mkdir d6z
[root@MOMOCO-02 tmp]# cd !$
cd d6z
[root@MOMOCO-02 d6z]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;【多看看这张find的使用方法】
[root@MOMOCO-02 d6z]# du -sh 1.txt 【查看文件或者目录的大小】
240K 1.txt
[root@MOMOCO-02 d6z]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[root@MOMOCO-02 d6z]# du -sh 1.txt
704K 1.txt
[root@MOMOCO-02 d6z]# cp 1.txt 2.txt
[root@MOMOCO-02 d6z]# cat 2.txt >> 1.txt
[root@MOMOCO-02 d6z]# du -sh 1.txt
1.2M 1.txt
[root@MOMOCO-02 d6z]# cat 2.txt >> 1.txt
[root@MOMOCO-02 d6z]# du -sh 1.txt
2.2M 1.txt
[root@MOMOCO-02 d6z]# cat 2.txt >> 1.txt
[root@MOMOCO-02 d6z]# du -sh 1.txt
2.2M 1.txt
[root@MOMOCO-02 d6z]# cat 2.txt >> 1.txt
[root@MOMOCO-02 d6z]# du -sh 1.txt
4.2M 1.txtblog
[root@MOMOCO-02 d6z]# wc -l 1.txt 【查看一个文件有多少行】
60770 1.txt
[root@MOMOCO-02 d6z]# gzip 1.txt 【压缩1.txt文件】
[root@MOMOCO-02 d6z]# du -sh 1.txt 【咱们在查看文件的大小的时候显示没有这个文件了】
du: 没法访问"1.txt": 没有那个文件或目录
[root@MOMOCO-02 d6z]# ls 【能够看到咱们的1.txt文件没有了多出来的是1.txt.gz】
1.txt.gz 2.txt
[root@MOMOCO-02 d6z]# gzip -d 1.txt.gz 【-d选项会解压缩咱们的文件】
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt
[root@MOMOCO-02 d6z]# du -sh 1.txt 【压缩以前这个文件大小是4.2M,压缩以后咱们再解压发现咱们文件大小变成了2.4M,这是由于咱们以前的文件他就像海绵同样内存是有空隙的,而咱们压缩以后再解压就会致使咱们文件大小发生变化。】
2.4M 1.txt
[root@MOMOCO-02 d6z]# wc -l 1.txt 【咱们再次查看文件的行数是没有发生变化的】
60770 1.txt
gzip压缩级别
gzip压缩是有级别的,分别从1到9个级别。压缩级别越高cup耗费的资源越多。
1级别是最不严谨的(就是压缩的文件没有9级别的小)
9级别是最严谨的(就是压缩的文件比1级别小的多)
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt
[root@MOMOCO-02 d6z]# gzip -1 1.txt 【指定压缩1级别】
[root@MOMOCO-02 d6z]# du -sh 1.txt.gz 【压缩文件1.txt.gz大小732k】
732K 1.txt.gz
[root@MOMOCO-02 d6z]# gunzip 1.txt.gz 【这也是一个解压缩的命令和-d选项做用同样的】
[root@MOMOCO-02 d6z]# gzip -9 1.txt 【指定压缩9级别】
[root@MOMOCO-02 d6z]# du -sh 1.txt.gz 【压缩文件1.txt.gz大小616k】
616K 1.txt.gz
[root@MOMOCO-02 d6z]# gzip -d 1.txt.gz
[root@MOMOCO-02 d6z]# gzip 1.txt 【若是咱们不指定级别默认是6级别】
[root@MOMOCO-02 d6z]# du -sh 1.txt.gz 【默认压缩文件1.txt.gz大小620k】
620K 1.txt.gz
[root@MOMOCO-02 d6z]# file 1.txt.gz 【查看咱们压缩文件的详细信息】
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Fri Jan 5 06:59:22 2018
[root@MOMOCO-02 d6z]# zcat 1.txt.gz 【这个命令能够查看咱们压缩文件的内容】
[root@MOMOCO-02 d6z]# ls
1.txt.gz 2.txt
[root@MOMOCO-02 d6z]# gunzip 1.txt.gz
[root@MOMOCO-02 d6z]# gzip -c 1.txt > /tmp/1.txt.gz【这种方法压缩文件,能够指定定咱们压缩后的文件放到哪里,并且咱们的源文件不会消失。上面的实验压缩咱们源文件消失只有压缩文件。】
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt
[root@MOMOCO-02 d6z]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
[root@MOMOCO-02 d6z]# file !$【file咱们看一下】
file /tmp/1.txt.gz
/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Fri Jan 5 06:59:22 2018
[root@MOMOCO-02 d6z]# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/jieya1.txt.gz【我么也能够指定解压出来的文件放到哪里,并且原来的压缩文件不会消失。上面的实验咱们压缩文件解压后会消失。】
[root@MOMOCO-02 d6z]# du -sh 1.txt jieya1.txt.gz
2.4M 1.txt
2.4M jieya1.txt.gz
[root@MOMOCO-02 d6z]# wc -l 1.txt jieya1.txt.gz
60770 1.txt
60770 jieya1.txt.gz
121540 总用量
6.3bzip2压缩工具
bzip2工具压缩的文件比gzip工具压缩的文件要狠,文件压缩越狠cpu耗费的资源越多。默认级别9
[root@MOMOCO-02 d6z]# bzip2 1.txt 【压缩命令,提示咱们没有安装bzip2工具】
-bash: bzip2: 未找到命令
[root@MOMOCO-02 d6z]# yum install -y bzip2
[root@MOMOCO-02 d6z]# bzip2 1.txt 【压缩命令】
[root@MOMOCO-02 d6z]# ls
1.txt.bz2 2.txt jieya1.txt.gz
[root@MOMOCO-02 d6z]# du -sh 1.txt.bz2 【查看咱们的使用bzip2压缩后的文件大小】
244K 1.txt.bz2【咱们能够看到他的压缩很小,咱们以前使用gzip压缩的时候的大小是620k】
[root@MOMOCO-02 d6z]# bzip2 -d 1.txt.bz2 【-d选项是解压缩的意思】
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt jieya1.txt.gz
[root@MOMOCO-02 d6z]# du -sh 1.txt 【没有压缩的文件大小】
2.4M 1.txt
[root@MOMOCO-02 d6z]# bzip2 1.txt
[root@MOMOCO-02 d6z]# bunzip2 1.txt.bz2 【解压缩文件命令,和-d选项同样】
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt jieya1.txt.gz
[root@MOMOCO-02 d6z]# bzip2 -c 1.txt > 3.txt.bz2【保留源文件压缩,而且指定压缩文件的路径】
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt 3.txt.bz2 jieya1.txt.gz
[root@MOMOCO-02 d6z]# file 1.txt.bz2 【使用这个命令能够查看咱们压缩文件的详细信息】
1.txt.bz2: bzip2 compressed data, block size = 900k
有的时候有的人就是把压缩的文件后缀名给你改了这个时候你cat查看是没有用的里面都是二进制文件。这个时候咱们就想到用file命令查看这个文件看看他是什么文件
[root@MOMOCO-02 d6z]# ls
1.txt.bz2 2.txt 3.txt.bz2 jieya1.txt.gz
[root@MOMOCO-02 d6z]# mv 3.txt.bz2 3.txt
[root@MOMOCO-02 d6z]# ls
1.txt.bz2 2.txt 3.txt jieya1.txt.gz
[root@MOMOCO-02 d6z]# less 3.txt
"3.txt" may be a binary file. See it anyway?
[root@MOMOCO-02 d6z]# file 3.txt
3.txt: bzip2 compressed data, block size = 900k
[root@MOMOCO-02 d6z]# file 2.txt
2.txt: UTF-8 Unicode text
[root@MOMOCO-02 d6z]# bzcat 3.txt.bz2 【咱们可使用这个命令查看一个压缩文件】
6.4xz压缩工具
xz工具压缩的文件比bzip2工具压缩的文件还要狠,固然文件压缩越狠cpu耗费的资源越多。默认级别9
下面的命令就不作详细介绍你能够参照上面的两个压缩工具来理解。
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt 3.txt.bz2 jieya1.txt.gz
[root@MOMOCO-02 d6z]# xz 1.txt
[root@MOMOCO-02 d6z]# ls
1.txt.xz 2.txt 3.txt.bz2 jieya1.txt.gz
[root@MOMOCO-02 d6z]# du -sh 1.txt.xz
56K 1.txt.xz
[root@MOMOCO-02 d6z]# unxz 1.txt.xz
[root@MOMOCO-02 d6z]# ls
1.txt 2.txt 3.txt.bz2 jieya1.txt.gz
[root@MOMOCO-02 d6z]# du -sh 1.txt
2.4M 1.txt
[root@MOMOCO-02 d6z]# xz -z 1.txt
[root@MOMOCO-02 d6z]# ls
1.txt.xz 2.txt 3.txt.bz2 jieya1.txt.gz
[root@MOMOCO-02 d6z]# xz -d -c 1.txt.xz > /tmp/1.txt.xz
[root@MOMOCO-02 d6z]# xz -c /tmp/1.txt > /tmp/d6z/5.txt.xz
[root@MOMOCO-02 d6z]# ls
1.txt.xz 2.txt 3.txt.bz2 5.txt.xz jieya1.txt.gz
[root@MOMOCO-02 d6z]# xzcat 5.txt.xz
阿铭linux:http://v.apelearn.com
MOMCO-51CTO博客:https://blog.51cto.com/13518197