linux学习第十九篇:压缩介绍,gzip,bzip2,xz压缩工具
- file命令可查看文件是压缩文件或者test文件等,如file 1.txt 可查看1.txt是什么类型的文件
linux压缩打包介绍
在windows下我们接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件了。它不仅能节省磁盘空间而且在传输的时候还能节省网络带宽。 在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip, .tar.xz, .tar.bz2等等。以前也介绍过linux系统中的后缀名其实要不要无所谓,但是对于压缩文件来讲必须要带上。这是为了判断压缩文件是由哪种压缩工具所压缩,而后才能去正确的解压缩这个文件。以下介绍常见的后缀名所对应的压缩工具。
.gz gzip 压缩工具压缩的文件
.bz2 bzip2 压缩工具压缩的文件
.tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)
.tar.gz 可以理解为先用tar打包,然后再gzip压缩
.tar.bz2 同上,先用tar打包,然后再bzip2压缩
.
gzip压缩工具
语法命令: gzip 1.txt //压缩文件1.txt。gzip 是不支持压缩目录的。
gzip -d 1.txt.gz //-d 解压压缩包1.txt.gz gunzip 1.txt.gz //解压压缩包1.txt.gz
gzip -# 1.txt //# 为压缩等级,1压缩最差,9压缩最好,6为默认,压缩得越好耗费的CPU资源越大。平时很少用,使用默认压缩级别足够了。
file 1.txt.gz //查看压缩文件里有什么文件
zcat 1.txt.gz //查看压缩文件里的内容,先解压再cat查看
gzip -c 1.txt > /tmp/1.txt.gz //生成一个压缩文件1.txt.gz在/tmp目录下,源文件1.txt还是存在。
gzip -d -c /tmp/1.txt.gz > /tmp/2.txt //源压缩文件1.txt.gz不变,再解压缩1.txt到/tmp下并改名2.txt
[root@xie-02 zzz]# du -sh 1.txt
2.3M 1.txt
[root@xie-02 zzz]# wc -l 1.txt
35735 1.txt
[root@xie-02 zzz]# gzip 1.txt //压缩文件
[root@xie-02 zzz]# ls
1.txt.gz
[root@xie-02 zzz]# du -sh 1.txt.gz //压缩后的文件大小
360K 1.txt.gz
[root@xie-02 zzz]# gzip -d 1.txt.gz //解压文件
[root@xie-02 zzz]#
[root@xie-02 zzz]# du -sh 1.txt //由原本的2.3M解压后变成1.4M是因为原本的2.3M是虚的,没有那么大,压缩后把虚的那些空间挤掉,所以实际上的大小为1.4M
1.4M 1.txt
[root@xie-02 zzz]# wc -l 1.txt //大小跟原来没压缩前一样是35735行没有变化,更能证明之前的2.3M是虚的,实际是1.4M
35735 1.txt
[root@xie-02 zzz]# gzip -1 1.txt //最差的压缩等级1
[root@xie-02 zzz]# du -sh 1.txt.gz
424K 1.txt.gz
[root@xie-02 zzz]# gzip -d 1.txt.gz
[root@xie-02 zzz]# gzip -9 1.txt //最好的压缩等级9
[root@xie-02 zzz]# du -sh 1.txt.gz
356K 1.txt.gz
bzip2压缩工具
bzip2比gzip压缩得更狠,但也意味着耗费的cpu资源也越多。
bzip2 1.txt //压缩文件1.txt。bzip2 是不支持压缩目录的。 bzip2 -z 1.txt //压缩文件1.txt,同上
bzip2 -d 1.txt.bz2 //-d 解压压缩包1.txt.bz2 bunzip2 1.txt.bz2 //解压压缩包1.txt.bz2
bzip -# 1.txt //#范围1-9,默认9
file 1.txt.bz2 //查看压缩文件里有什么文件
bzcat 1.txt.bz2 //查看压缩文件里的内容,先解压再cat查看
bzip2 -c 1.txt > /tmp/1.txt.bz2 //生成一个压缩文件1.txt.bz2在/tmp目录下,源文件1.txt还是存在。
bzip2 -c -d /tmp/1.txt.bz2 > /tmp/2.txt //源压缩文件1.txt.bz2不变,再解压缩1.txt到/tmp下并改名2.txt
[root@xie-02 zzz]# du -sh 1.txt 2.txt
1.4M 1.txt
1.4M 2.txt
[root@xie-02 zzz]# gzip 1.txt
[root@xie-02 zzz]# bzip2 2.txt
[root@xie-02 zzz]# ls
1.txt.gz 2.txt.bz2
[root@xie-02 zzz]# du -sh 1.txt.gz 2.txt.bz2 //bzip2压缩程度比gzip更强
360K 1.txt.gz
172K 2.txt.bz2
xz压缩工具
bzip2比gzip压缩得更狠,而xz比bzip2压缩得更狠。但也意味着耗费的cpu资源也越多。 所以压缩q强度上xz>bzip>gzip,但不是绝对的,有些文件可能适合其中一种。
xz 1.txt // 压缩文件1.txt。xz 是不支持压缩目录的。 xz -z 1.txt //压缩文件1.txt,同上
xz -d 1.txt.xz // -d 解压压缩包1.txt.xz unxz 1.txt.xz //解压压缩包1.txt.xz
xz -# 1.txt //#范围1-9,默认6
file 1.txt.xz //查看压缩文件里有什么文件
xzcat 1.txt.xz //查看压缩文件里的内容,先解压再cat查看
xz -c 1.txt > /tmp/1.txt.xz //生成一个压缩文件1.txt.xz在/tmp目录下,源文件1.txt还是存在。
xz -d -c /tmp/1.txt.xz > 2.txt //源压缩文件1.txt.xz不变,再解压缩1.txt到/tmp下并改名2.txt
[root@xie-02 zzz]# du -sh 1.txt 2.txt
1.4M 1.txt
1.4M 2.txt
[root@xie-02 zzz]# bzip2 1.txt
[root@xie-02 zzz]# xz 2.txt
[root@xie-02 zzz]# ls
1.txt.bz2 2.txt.xz
[root@xie-02 zzz]# du -sh 1.txt.bz2 2.txt.xz
172K 1.txt.bz2
64K 2.txt.xz
- 移动端框架 滚动类 iScroll5
- GoogLeNet的心路历程(二)
- iScroll5 表单元素无法失焦 解决方法
- ResNet原理及其在TF-Slim中的实现
- 了解你服务器的心情——top命令详解
- HTML5视音频代码实例 & WEBM格式转换器
- 解析Tensorflow官方PTB模型的demo
- MyBatis源码解析(一)——MyBatis初始化过程解析
- MyBatis源码解析(二)——动态代理实现函数调用
- Git命令速记
- linux设备驱动第三篇:如何写一个简单的字符设备驱动
- Tensorflow高级API的进阶--利用tf.contrib.learn建立输入函数
- Spring速查手册(三)——Spring+JDBC
- [WebKit] JavaScriptCore解析--基础篇(一)字节码的生成及抽象语法树的构建详情分析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- clickhouse编译安装以及搭建mysql实时复制
- Linux回收站机制实现过程及用法详解
- Linux如何基于AIDE检测文件系统完整性
- MySQL压测时Linux中断异常飚高,原来是因为...
- Ubuntu20.04防火墙设置简易教程(小白)
- linux上搭建私有Git服务器的详细教程
- Centos7 安装 Mysql8教程
- linux下快速列出局域网中所有主机名(计算机名)的脚本
- 详解Linux重定向用法
- Zabbix基于snmp实现监控linux主机
- 快速解决linux下中文输入法问题
- Linux实现文件内容去重及求交并差集
- Linux rpm、yum指令及使用方法详解
- Linux下遇到PyCurl的错误解决方法
- Linux cut 命令详解