四周第四次课(3月1日)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四周第四次课(3月1日)相关的知识,希望对你有一定的参考价值。

6.1 压缩打包介绍

6.2 gzip压缩工具

6.3 bzip2压缩工具

6.4 xz压缩工具



6.1  压缩打包介绍


常见压缩文件

windows .rar .zip .7z

Linux  .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz


虽然后缀名在Linux上没意义,但是压缩格式应该遵循linux定义的格式来定义,以免造成错误识别。



6.2 gzip压缩工具


介绍

技术分享图片

gzip不能压缩目录 


gzip压缩工具

gzip 1.txt

gzip -d 1.txt.gz / unzip 1.txt.gz

gzip -# 1.txt //#范围1-9,默认6

不能压缩目录

zcat 1.txt.gz

gzip -c 1.txt > /root/1.txt.gz

gunzip -c /root/1.txt.gz > /tmp/1.txt.new 


实操test

#cd /tmp

#mkdir d6z

#cd d6z/

#ls

# find /etc/ -type f -name "*conf" 搜索/etc/下的conf结尾的文件

技术分享图片


把搜索到的内容追加输出到1.txt下面

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

连续追加几次内容至1.txt 让膨胀成2.2M 左右。

# du -sh 1.txt

2.0M 1.txt

使用gzip压缩1.txt

# gzip 1.txt 

# ls

1.txt.gz

#du -sh 1.txt.gz 1.txt压缩后,文件名直接变成了1.txt.gz,且大小也变小了。

372K 1.txt.gz

#wc -l 1.txt

36468 1.txt


使用gzip -d 来解压(#gunzip filename 同样是gzip的解压命令,效果效果一样)

# gzip -d 1.txt.gz

# du -sh 1.txt

1.4M 1.txt

解压后发现1.txt比原来没压缩前的1.txt还要小。这是因为实际上,文件还有一些虚的空间存在着,通过压缩与解压可以把虚的空间给挤掉。如果我们觉得文件内容可能被削减了,我们可以通过#wc -l 去检查文件行数。


#wc -l 1.txt 行数没被削减,内容也应该没被削减。

36468 1.txt


压缩等级

gzip压缩等级分为1-9,默认为6级。随着级数越大,严谨性越大,如果等级设为9级,则耗用CPU资源很大。所以,一般压缩级别设置为默认级别就可以。


查看1.txt.gz文件属性。

#file 1.txt.gz

1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu Mar  1 14:53:39 2018


查看压缩文件的内容(原理是:先解压,再cat)

#zcat 1.txt.gz


压缩时 文件指定某个位置或某个目录下,并且不让该文件消失,生成一个新的文件。(-c选项)

#gzip -d 1.txt.gz 先解压

#gzip -c 1.txt > /tmp/1.txt.gz 指定位置

#ls /d6z/1.txt没有消失

1.txt

# ls /tmp/1.txt.gz /tmp/下面多了一个1.txt.gz的文件

/tmp/1.txt.gz

# file /tmp/1.txt.gz 查看1.txt.gz属性

/tmp/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu Mar  1 14:53:39 2018


指定解压并且保留源文件。

# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt

# ls 

1.txt  2.txt

# wc -l 1.txt 2.txt

  36468 1.txt

  36468 2.txt

  72936 总用量

其实两个文件内容都一样,源自同一个文件出来的,所以利用#wc -l查看行数是否一样检查数据是否配对。 一样的话即成功。

# du -sh *.txt

1.4M 1.txt

1.4M 2.txt

文件大小也是一样,由此证明,指定压缩和解压都不影响文件内容和大小。



6.3 bzip2压缩工具


技术分享图片

用法跟gzip差不多。

# bzip2 1.txt 

#ls

1.txt.bz2  2.txt


# du -sh 1.txt.bz2 

156K 1.txt.bz2 从bzip2压缩后的文件大小可以看出,bzip2的压缩有多狠,因为gzip压缩同一个文件都是300多K

# du -sh 2.txt 

1.4M 2.txt

压缩之前的文件是1.4M


解压

# bzip2 -d 1.txt.bz2 

# bunzip2 1.txt.bz2 


同样也支持# bzip2 -c 指定位置

#bzip2 -c 1.txt > /tmp/1.txt.bz2


默认压缩级别9

#bzip2 -9 1.txt


如果有些压缩文件没被改成压缩后缀,我们可以通过#file命令来查看属性。

[[email protected] d6z]# ls

1.txt.bz2  2.txt  3.txt

[[email protected] d6z]# mv 1.txt.bz2 1.txt

[[email protected] d6z]# ls

1.txt  2.txt  3.txt

[[email protected] d6z]# less 1.txt 

"1.txt" may be a binary file.  See it anyway? 大意是说,这是一个二进制文件,是否继续查看。

[[email protected] d6z]# file 1.txt 通过#file可以得知这是一个bzip2文件。 

1.txt: bzip2 compressed data, block size = 900k



6.4 xz压缩工具


技术分享图片

xz跟tar的关系比较关联。

用法与gzip,bz2差不多

xz同样也不能压缩目录


# xz 2.txt

# du -sh 1.txt.bz2 2.txt.xz 3.txt xz压缩比bz2还要狠,压缩后的文件大小比bzip2压缩还要小。

156K 1.txt.bz2

56K 2.txt.xz

1.4M 3.txt


解压

#xz -d 2.txt.xz

#unxz 2.txt.xz


保留原来的文件指定到位置生成压缩文件


# xz -c 2.txt > /tmp/2.txt.xz 保留原来的文件,把它指定到/tmp/进行压缩,生成2.txt.xz压缩文件。

# xz -d -c /tmp/2.txt.xz > /tmp/d6z/4.txt 解压缩一个2.txt.xz并且指定解压缩到/tmp/d6z,同时保留原来的压缩文件。



#xzcat /tmp/2.txt.zx 查看.zx文件内容


以上是关于四周第四次课(3月1日)的主要内容,如果未能解决你的问题,请参考以下文章

四周第四次课(3月1日)

Linux学习笔记第四周第四次课(3月1日)

四周第四次课(1月5日)

四周第四次课(1月5日)

Linux四周第四次课(4月16日)

四周第四次课(1月5日) 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具