2018.8.7日,预习笔记,压缩与打包

  1. 压缩打包介绍
  2. gzip压缩工具
  3. bzip2压缩工具
  4. xz压缩工具
  5. zip压缩工具
  6. tar打包工具
  7. 打包并压缩
  8. 利用tar通过网络拷贝数据
  9. tar打包,压缩与解压缩到指定目录
  10. Linux下不支持解压大于4G的zip压缩包
  11. 扩展学习

一.压缩打包介绍

  • 压缩可以节省空间大小,方便传输,节省带宽
  • 常见压缩文件

二.gzip压缩工具

  • 实验一,gzip打包一个文件
  • 创建一个目录

  • 进入该目录下

  • 添加内容到一个新的文件里

  • 多次执行上一步命令,制作一个大的文件

  • 查看文件大小

  • 压缩1.txt文件

  • 查看文件大小,发现变小了很多

  • 解压缩1.txt文件,会把原先空的空间挤压掉,所以下面#du -sh 1.txt 会使1.3M

  • 可以指定压缩级别#gzip -1~9级别,默认为6级别

  • #file 用来查看压缩文件的信息

  • #zcat 用来查看压缩文件的内容,其实就是先解压再查看它的内容

示例二:保留当前文件并压缩或者解压缩到指定目录下

  • 指定压缩在哪个目录下

  • 指定解压在哪个目录下

  • #gzip不能压缩目录

三.bzip2压缩工具

  • 相对于gzip,压缩的更小,算法也不一样,不过需要耗费CPU资源也更多
  • yum install -y bzip2 安装bizp2工具
  • 参照下图,使用方法跟gzip基本一致
  • 不过它默认的级别是9级别

  • bzcat查看bzip文件内容

四.xz压缩工具

  • 比上面两个压缩工具压缩的更小,其他操作方法跟上面一样
  • #unxz 也可以解压缩xz文件

五.zip压缩工具

  • 支持压缩目录,不过这个压缩工具压缩是最宽松的
  • yum install -y zip 安装zip工具
  • #zip -r 压缩目录需要加-r ,可以选择目录和文件一起压缩
  • zip压缩文件是不能直接查看文件内容
  • #unzip -l 查看zip压缩文件的目录列表

六.tar打包工具

  • 可以将目录和文件打包成一个文件,方便传输
  • #tar -cvf 命令,打包文件和目录

  • c创建
  • v可视化
  • f 打包文件名
  • #tar -xvf 解包

  • #tar -tf 查看打包文件目录

  • --exclude 过滤指定的文件,不去打包过滤的文件

七.打包并压缩

  • #tar -zcvf zip打包并压缩
  • #tar -jcvf bzip2打包并压缩
  • #tar -Jcvf xz打包并压缩
  • #tar -tf 查看压缩文件目录列表

八.利用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  - 意思是,将前面的标准输出内容作为解包的对象。

  • 总结:其实就是想拷贝的目录先打包,然后将打包好的文件拷贝到目标主机,最后在目标主机上解包。只不过,我们用一条命令实现了边打包边解包的过程。

九.Tar打包、压缩与解压缩到指定目录

  • tar在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

十.linux下不支持解压大于4G的zip压缩包

以前没有注意过,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

十一.扩展学习

1.在windows下常见的压缩包有rar和zip,默认rar在linux下是不支持压缩和解压的,但是也有相关的工具可以安装在linux平台上。而zip的压缩包是可以同时存在于linux平台和windows平台上的哦。

  • 使用zip压缩:

zip可以压缩目录也可以压缩文件,压缩目录时,需要指定目录下的文件哦,看例子吧:

  1. zip 1.txt.zip 1.txt
  2. zip dir1.zip dir1/*

说明: zip 后面先跟目标文件名,也就是压缩后的自定义压缩包名,然后是要压缩的文件或者目录。

  • 思考题: 在压缩目录时,如果只写目录名,会发生什么?而目录下还有二级目录甚至更多级目录时,能否也一并压缩二级目录下的文件呢?

做完实验后,相信您已经得出结论,看看是否和阿铭的答案一致?答案是,当目录下还有二级目录甚至更多级目录时,zip并不会把二级目录下的文件压缩,而仅仅是把二级目录本身压缩,那有没有级联的选项呢?当然有,那就是:

zip -r dir1.zip dir1/

  • 这样也不需要用 dir1/* 了,所以记住,使用zip压缩目录时,必须要加上 -r 选项。

  • 好了,说完压缩,也该说如何解压了吧,解压的命令并不是zip了,而是叫做 unzip ,解压1.txt.zip的命令为:

  1. unzip 1.txt.zip

2.bzcat命令的使用:

对于使用bzip2压缩的文本文档,可以使用bzcat命令直接查看文档内容。

  1. cp /etc/passwd ./11.txt
  2. bzip2 11.txt
  3. bzcat 11.txt.bz2

3.计算机下的压缩原理

  • zip的压缩原理与实现

http://ask.apelearn.com/question/5435

  • 无损数据压缩

 

转载于:https://my.oschina.net/u/3912766/blog/1924770

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值