四周第四次课(四月16号)笔记

6.1 压缩包介绍6.2 gzip压缩工具
6.3 bzip2压缩工具
6.4 xz压缩工具

常见压缩文件格式:(因文件变小,耗费带宽下降,传输速度上升)

windows下: .rar .zip .7z

Linux: .zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xz

机房的网络成本相对昂贵,为节省资源,压缩文件很常见(和家庭用户相比,上下行带宽一致)


gzip压缩工具

gzip filename

使用find命令找出/etc/所有conf文件并写入名为1.txt的文件中 : find /etc/ -type f -name "*.conf" -exec cat {}>> 1.txt \;


解压缩:①gzip -d filename ②gunzip filename

如果想压缩时保留原始文件使用命令:gzip -c /tmp/ .txt > /tmp/    .gz 

解压缩时保留原压缩文件使用命令行:gzip -d -c /gunzip -c .gz > /tmp/  /  .txt

file命令查看已压缩文件来源  zcat命令无需解压已压缩文件查看其内容  du -sh *查看当前目录下所有文件名及大小  wc -l 命令查看文件名及行数

压缩等级为1~9,其中默认压缩等级为6,数字越大表明压缩程度越大,且压缩到一定程度会发现已经饱和


Bzip 压缩程度更大


如下图所示:bzip2和gzip用法相似,不同的是默认压缩级别为9。


如果把压缩文件改成.txt使用less命令无法查看,因为压缩后的文件格式为二进制,会有提示:" .txt" might be a binary file, see it anyway? 这时可以使用file命令查看其文件属性(压缩二进制文件)。和zcat相对应的bzcat可查看压缩文件详情


具体操作如下:


扩展知识:

利用tar 通过网络拷贝数据

# cd /data  // data目录下有我们要拷贝的目标文件目录 test
# tar cvf  -  test| ssh 10.0.1.11 "cd /copy1/; tar xvf  -"  //首先将要拷贝的目录test打包,"-" 代表标准输出,然后再ssh 到目标主机 10.0.1.11 ,运行相应的命令。其中tar xvf  - 意思是,将前面的标准输出内容作为解包的对象。

总结:其实就是想拷贝的目录先打包,然后将打包好的文件拷贝到目标主机,最后在目标主机上解包。只不过,我们用一条命令实现了边打包边解包的过程。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以前没有注意过,linux竟然不支持大于4G的zip文件的解压。解决办法如下:
wget -c http://packages.sw.be/p7zip/p7zip-9.13-1.el5.rf.i386.rpm 
wget -c http://packages.sw.be/p7zip/p7zip-plugins-9.13-1.el5.rf.i386.rpm 
下载完后安装:
rpm -ivh p7zip-9.13-1.el5.rf.i386.rpm 
rpm -ivh p7zip-plugins-9.13-1.el5.rf.i386.rpm 

解压命令:

7z x  123.zip

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ar在linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 

参数: 

-c :create 建立压缩档案的参数; 

-x : 解压缩压缩档案的参数; 

-z : 是否需要用gzip压缩; 

-v: 压缩的过程中显示档案; 

-f: 置顶文档名,在f后面立即接文件名,不能再加参数 

举例: 一,将整个/home/www/images 目录下的文件全部打包为 /home/www/images.tar 

[root@xoaocom ~]# tar -cvf /home/www/images.tar /home/www/images ← 仅打包,不压缩 

[root@xoaocom ~]# tar -zcvf /home/www/images.tar.gz /home/www/images ← 打包后,以gzip压缩 

在参数f后面的压缩文件名是自己取的,习惯上用tar来做,如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件 


举例: 二,将 /home/www/images.tar.gz 解压到/home/www下面 

[root@xoaocom ~]# cd /home/www 

[root@xoaocom ~]# tar -zxvf /home/images.tar.gz 


解压到指定的目录 

[root@xoaocom ~]# tar -zxvf /home/images.tar.gz -C /specific dir


阅读更多

没有更多推荐了,返回首页