Linux文件压缩和打包(上)

6.1压缩打包介绍

6.2gzip压缩工具

6.3bzip2压缩工具

6.4xz压缩工具

文件压缩后的大小不能更具压缩工具来定论,他的大小是根据文件的内容和压缩工具一起定论的。

6.1压缩打包介绍

我们平时在网上下载文件一般都是压缩的,压缩会使我们的文件空间缩小。压缩文件我们在网上传输的时间也会有所减少,带宽资源也会减少。说到带宽其实我们家庭使用的带宽和公司使用的不是一样的,家庭使用的下载速度和上传速度不对等,而公司的是对等的。所以公司的宽带比较贵。如果我们服务器上的文件经常被下载我们就要对文件进行压缩了(这样我们可以节约很多带宽资源)。

之前我们说过windows系统的文件后缀名可以分类,但是在我们linux系统里面文件的后缀名没有这么重要,但是我们为了好区分我们把linux系统里面相同的文件,使用一样后缀名。

6.2gzip压缩工具

[[email protected] ~]# cd /tmp/
[[email protected] 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
[[email protected] tmp]# mkdir d6z
[[email protected] tmp]# cd !$
cd d6z
[[email protected] d6z]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;【多看看这张find的使用方法】
[[email protected] d6z]# du -sh 1.txt 【查看文件或者目录的大小】
240K    1.txt
[[email protected] d6z]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
[[email protected] d6z]# du -sh 1.txt 
704K    1.txt
[[email protected] d6z]# cp 1.txt 2.txt
[[email protected] d6z]# cat 2.txt >> 1.txt 
[[email protected] d6z]# du -sh 1.txt 
1.2M    1.txt
[[email protected] d6z]# cat 2.txt >> 1.txt 
[[email protected] d6z]# du -sh 1.txt 
2.2M    1.txt
[[email protected] d6z]# cat 2.txt >> 1.txt 
[[email protected] d6z]# du -sh 1.txt 
2.2M    1.txt
[[email protected] d6z]# cat 2.txt >> 1.txt 
[[email protected] d6z]# du -sh 1.txt 
4.2M    1.txt

[[email protected] d6z]# wc -l 1.txt 【查看一个文件有多少行】
60770 1.txt
[[email protected] d6z]# gzip 1.txt 【压缩1.txt文件】
[[email protected] d6z]# du -sh 1.txt 【我们在查看文件的大小的时候显示没有这个文件了】
du: 无法访问"1.txt": 没有那个文件或目录
[[email protected] d6z]# ls 【可以看到我们的1.txt文件没有了多出来的是1.txt.gz】
1.txt.gz  2.txt
[[email protected] d6z]# gzip -d 1.txt.gz 【-d选项会解压缩我们的文件】
[[email protected] d6z]# ls
1.txt  2.txt
[[email protected] d6z]# du -sh 1.txt 【压缩之前这个文件大小是4.2M,压缩之后我们再解压发现我们文件大小变成了2.4M,这是因为我们之前的文件他就像海绵一样内存是有空隙的,而我们压缩之后再解压就会导致我们文件大小发生变化。】
2.4M    1.txt

[[email protected] d6z]# wc -l 1.txt 【我们再次查看文件的行数是没有发生变化的】
60770 1.txt
gzip压缩级别

gzip压缩是有级别的,分别从1到9个级别。压缩级别越高cup耗费的资源越多。

1级别是最不严谨的(就是压缩的文件没有9级别的小)

9级别是最严谨的(就是压缩的文件比1级别小的多)

[[email protected] d6z]# ls
1.txt  2.txt
[[email protected] d6z]# gzip -1 1.txt 【指定压缩1级别】
[[email protected] d6z]# du -sh 1.txt.gz 【压缩文件1.txt.gz大小732k】
732K    1.txt.gz
[[email protected] d6z]# gunzip 1.txt.gz 【这也是一个解压缩的命令和-d选项作用一样的】
[[email protected] d6z]# gzip -9 1.txt 【指定压缩9级别】
[[email protected] d6z]# du -sh 1.txt.gz 【压缩文件1.txt.gz大小616k】
616K    1.txt.gz
[[email protected] d6z]# gzip -d 1.txt.gz 
[[email protected] d6z]# gzip 1.txt 【如果我们不指定级别默认是6级别】
[[email protected] d6z]# du -sh 1.txt.gz 【默认压缩文件1.txt.gz大小620k】
620K    1.txt.gz
[[email protected] 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
[[email protected] d6z]# zcat 1.txt.gz 【这个命令可以查看我们压缩文件的内容】
[[email protected] d6z]# ls
1.txt.gz  2.txt
[[email protected] d6z]# gunzip 1.txt.gz 
[[email protected] d6z]# gzip -c 1.txt > /tmp/1.txt.gz【这种方法压缩文件,可以指定定我们压缩后的文件放到哪里,而且我们的源文件不会消失。上面的实验压缩我们源文件消失只有压缩文件。】
[[email protected] d6z]# ls
1.txt  2.txt
[[email protected] d6z]# ls /tmp/1.txt.gz
/tmp/1.txt.gz
[[email protected] 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

[[email protected] d6z]# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/jieya1.txt.gz【我么也可以指定解压出来的文件放到哪里,而且原来的压缩文件不会消失。上面的实验我们压缩文件解压后会消失。】
[[email protected] d6z]# du -sh 1.txt jieya1.txt.gz 
2.4M    1.txt
2.4M    jieya1.txt.gz
[[email protected] d6z]# wc -l 1.txt jieya1.txt.gz 
  60770 1.txt
  60770 jieya1.txt.gz
 121540 总用量

6.3bzip2压缩工具

bzip2工具压缩的文件比gzip工具压缩的文件要狠,文件压缩越狠cpu耗费的资源越多。默认级别9

[[email protected] d6z]# bzip2 1.txt 【压缩命令,提示我们没有安装bzip2工具】
-bash: bzip2: 未找到命令
[[email protected] d6z]# yum install -y bzip2
[[email protected] d6z]# bzip2 1.txt 【压缩命令】
[[email protected] d6z]# ls
1.txt.bz2  2.txt  jieya1.txt.gz
[[email protected] d6z]# du -sh 1.txt.bz2 【查看我们的使用bzip2压缩后的文件大小】
244K    1.txt.bz2【我们可以看到他的压缩很小,我们之前使用gzip压缩的时候的大小是620k
[[email protected] d6z]# bzip2 -d 1.txt.bz2 【-d选项是解压缩的意思】
[[email protected] d6z]# ls
1.txt  2.txt  jieya1.txt.gz
[[email protected] d6z]# du -sh 1.txt 【没有压缩的文件大小】
2.4M    1.txt
[[email protected] d6z]# bzip2 1.txt 
[[email protected] d6z]# bunzip2 1.txt.bz2 【解压缩文件命令,和-d选项一样】
[[email protected] d6z]# ls
1.txt  2.txt  jieya1.txt.gz
[[email protected] d6z]# bzip2 -c 1.txt > 3.txt.bz2【保留源文件压缩,并且指定压缩文件的路径】
[[email protected] d6z]# ls
1.txt  2.txt  3.txt.bz2  jieya1.txt.gz

[[email protected] d6z]# file 1.txt.bz2 【使用这个命令可以查看我们压缩文件的详细信息】
1.txt.bz2: bzip2 compressed data, block size = 900k

有的时候有的人就是把压缩的文件后缀名给你改了这个时候你cat查看是没有用的里面都是二进制文件。这个时候我们就想到用file命令查看这个文件看看他是什么文件

[[email protected] d6z]# ls
1.txt.bz2  2.txt  3.txt.bz2  jieya1.txt.gz
[[email protected] d6z]# mv 3.txt.bz2 3.txt
[[email protected] d6z]# ls
1.txt.bz2  2.txt  3.txt  jieya1.txt.gz
[[email protected] d6z]# less 3.txt 
"3.txt" may be a binary file.  See it anyway? 
[[email protected] d6z]# file 3.txt 
3.txt: bzip2 compressed data, block size = 900k
[[email protected] d6z]# file 2.txt 
2.txt: UTF-8 Unicode text

[[email protected] d6z]# bzcat 3.txt.bz2 【我们可以使用这个命令查看一个压缩文件】

6.4xz压缩工具

xz工具压缩的文件比bzip2工具压缩的文件还要狠,当然文件压缩越狠cpu耗费的资源越多。默认级别9

下面的命令就不做详细介绍你可以参照上面的两个压缩工具来理解。

[[email protected] d6z]# ls
1.txt  2.txt  3.txt.bz2  jieya1.txt.gz
[[email protected] d6z]# xz 1.txt 
[[email protected] d6z]# ls
1.txt.xz  2.txt  3.txt.bz2  jieya1.txt.gz
[[email protected] d6z]# du -sh 1.txt.xz 
56K    1.txt.xz
[[email protected] d6z]# unxz 1.txt.xz 
[[email protected] d6z]# ls
1.txt  2.txt  3.txt.bz2  jieya1.txt.gz
[[email protected] d6z]# du -sh 1.txt 
2.4M    1.txt
[[email protected] d6z]# xz -z 1.txt 
[[email protected] d6z]# ls
1.txt.xz  2.txt  3.txt.bz2  jieya1.txt.gz
[[email protected] d6z]# xz -d -c 1.txt.xz > /tmp/1.txt.xz
[[email protected] d6z]# xz -c /tmp/1.txt > /tmp/d6z/5.txt.xz

[[email protected] d6z]# ls
1.txt.xz  2.txt  3.txt.bz2  5.txt.xz  jieya1.txt.gz

[[email protected] d6z]# xzcat 5.txt.xz

阿铭linux:http://v.apelearn.com

MOMCO-51CTO博客:http://blog.51cto.com/13518197

原文地址:http://blog.51cto.com/13518197/2059366

时间: 2024-10-14 12:09:01

Linux文件压缩和打包(上)的相关文章

【Linux学习笔记】第6章 Linux文件压缩和打包

6.1压缩打包介绍Windows压缩:.rar,.zip,.7zLinux压缩:.zip,.gz,.bz2,.xz,.tar.gz,.tar.bz2,.tar.xz 6.2gzip压缩工具gzip FILENAME 压缩文件,格式gz,压缩后源文件消失.gzip -d FILENAME.gz 解压文件.gzip -[1-9] FILENAME.gz 压缩文件时指定压缩级别,1最轻,9最狠.gunzip FILENAME.gz 也可以解压.file FILENAME 可以查看文件的信息.zcat

Linux文件压缩和打包(gzip、bip2、xz工具)

常见压缩格式 Windows:.rar..zip..7z Linux  :.zip..gz..bz2..xz..tar..gz..tar.bz2..tar.xz gzip压缩工具 用来压缩文件(常用) gzip 1.txt                                  压缩 1.txt gzip -d 1.txt.gz               解压 1.txt.gz gzip -c 1.txt > /tmp/1.txt.gz     压缩文件且不删除原有文件 gzip -

Linux文件压缩和打包

常见压缩文件 . windows  .rar .zip .7z . Linux .zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xz gzip压缩工具(不能压缩目录) gzip filename  #压缩后原文件会消失,生成filename.gz gzip -d filename.gz 或 unzip filename.gz   #压缩过的文件会消失,生成filename gzip -# filename  //#:1-9,默认6 gzip -c fi

Linux文件压缩与解压缩

什么是压缩文件?原理是什么? 简单的说,就是经过压缩软件压缩文件叫压缩文件,压缩的原理是把文件的二进制代码压缩,把相邻的0,1代码减少, 例如有000000,可以把它变成6个0的写法60来减少该文件的空间,同理解压缩就是按照相同的原则把数据还原回来. Linux环境中有哪些格式的压缩文件? 常见的压缩文件有*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2,为啥有这么多种压缩文件?这是因为Linux支持的压缩命令非常多, 且不同的命令所用的压缩技术并不相同,当然彼此之前可能就

Linux文件压缩和解压缩命令

Linux文件压缩和解压缩命令: tar 命令(打包并压缩的话,原文件也会默认存在) -c 建立打包档案 -x 解包 -t 查看包里的类容 -r 向包里追加文件 -v 显示打包过程 -f 文件 比如:命令    参数 包名   要打包的文件路径 tar     cvf  zzj.tar  /ect/zzj/  /ect/ko tar     xvf  zzj.tar(解开文件包) tar     xvfz  zzj.tar.gz(解压成原来压缩的文件) tar     cvfz  zzj.tar

Linux下的文件压缩和打包

Linux 上的压缩包文件格式,除了 Windows 最常见的*.zip.*.rar..7z后缀的压缩文件,还有 .gz..xz..bz2..tar..tar.gz..tar.xz.tar.bz2 文件后缀名                               说明 *.zip                       zip程序打包压缩的文件 *.rar                          rar程序压缩的文件 *.tar                     tar

linux下的文件压缩与打包---compress,gzip,zcat,bzip2,bzcat,tar,find,tarfile,tarball

常见的Linux压缩文件扩展名 *.Z            compress压缩的文件(已经被gzip替代) *.gz          gzip程序压缩的文件 *.bz2        bzip2程序压缩的文件(比gzip效果好,但只能针对一个文件来压缩) *.tar          tar程序打包的数据,没有压缩(使用tar打包成一个文件,可以解决bzip2不能压缩多个文件的问题) *.tar.gz     tar程序打包的数据,并经过gzip的压缩 *.tar.bz2   tar程序打

linux文件压缩

一.压缩文件的原理 压缩技术,简而言之,我们可以将其想象成:其实文件里面有很多的"空间"存在,并不是完全填满的,而"压缩"技术就是将这些"空间"填满,从而使得整个文件占用量下降. 目前我们的操作系统数据中,都是使用字节(byte)单位来计量,不过事实上,计算机中最小的计量单位应该是位(bit),我们知道 1 byte = 8 bit.那么我们是怎么样对一些数据进行记录的呢? 例如我们只是需要记忆一个数字,即1这个数字,考虑到计算机所谓的二进制,如

Linux文件压缩和解压使用记录

一:tar(可压缩可解压) tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户.但是tar本身只是一个文件打包工具,只有和其他工具组合时才具有压缩/解压文件功能. 使用tar命令压缩文件的格式是:tar  参数[主选项+辅选项]   '文件或目录 ' 参数主选项 -c 创建新的档案文件.如果用户想备份一个目录或是一些文件,就要选择这个选项. -r 把要存档的文件追加到档案文件的未尾.例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘