博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gzip、bzip2、xz压缩工具
阅读量:7021 次
发布时间:2019-06-28

本文共 3987 字,大约阅读时间需要 13 分钟。

hot3.png

9月30日任务

6.1 压缩打包介绍

6.2 gzip压缩工具

6.3 bzip2压缩工具

6.4 xz压缩工具

 

为什么要压缩

文件经过压缩后,其大小会缩小,可以节约服务器带宽资源、内存资源,节约运维成本!

常见压缩格式

Linux平台的常见压缩文件格式有以下几种

  • .zip

  • .gz

  • .bz2

  • .xz

  • .tar.gz

  • .tar.bz2

  • .tar.xz

虽然在Linux中文件后缀并不重要,但是为了便于区分和管理,压缩文件还是最好加上上述的一些后缀名

压缩工具

gzip压缩工具

gzip不能压缩目录!!

  • 基本使用:压缩/解压缩

# 创建一个大文件[root@localhost tmp]# find /etc/ -type f -exec cat {} >> 1.txt \;[root@localhost tmp]# ls -lh总用量 25M-rw-r--r--. 1 root root 25M ... 1.txt#压缩文件:gzip file[root@localhost tmp]# gzip 1.txt[root@localhost tmp]# ls -lh总用量 9.3M-rw-r--r--. 1 root root 9.3M ... 1.txt.gz#解压缩文件: gzip -d file.gz# gzip -d 等价于 gunzip[root@localhost tmp]# gzip -d 1.txt.gz[root@localhost tmp]# ls -lh总用量 25M-rw-r--r--. 1 root root 25M ... 1.txt
  • 按指定压缩级别进行压缩
#以1级别进行压缩,默认压缩级别为9;# 压缩级别1-9,压缩级别越高,占用CPU资源越高# gzip -[1-9] file[root@localhost tmp]# gzip -1 1.txt[root@localhost tmp]# ls -lh总用量 9.9M-rw-r--r--. 1 root root 9.9M ... 1.txt.gz
  • 在压缩的同时,保留原文件(默认不保留)
[root@localhost tmp]# gzip -c 1.txt > /test/tmp/1.txt.gz[root@localhost tmp]# ls -lh总用量 34M-rw-r--r--. 1 root root  25M ... 1.txt-rw-r--r--. 1 root root 9.3M ... 1.txt.gz
  • -c配合-d使用,将压缩文件解压缩的同时保留压缩包
# 注意最好使用绝对路径表示文件,清楚明白,当然相对路径表示也可以。[[root@localhost tmp]# gzip -d -c /test/tmp/1.txt.gz > /test/tmp/2.txt[root@localhost tmp]# ls -l总用量 34684-rw-r--r--. 1 root root  9649736 ... 1.txt.gz-rw-r--r--. 1 root root 25865478 ... 2.txt
  • zcat命令在不打开压缩包的情况下查看包内文件的内容
# 由于内容太多,这里只显示行数[root@localhost tmp]# zcat 1.txt.gz | wc -l176350

可以使用file命令查看压缩文件的具体信息!

[root@localhost tmp]# file 1.txt.gz1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: ..., max speed

有些压缩文件被命名为不带压缩文件类型后缀的,这种文件无法解压,可以使用file来查看文件类型,然后修改后缀,更好区分!!

[root@centos7 test]# mv 1.txt.bz2 1.txt[root@centos7 test]# file 1.txt1.txt: bzip2 compressed data, block size = 900k[root@centos7 test]# mv 1.txt 1.txt.bz2

 

bz2压缩工具

压缩率比gzip更高

未安装使用yum install -y bzip2

 

常用使用跟gzip命令类似,且同样不支持压缩目录

  • 基本用法

# 压缩前[root@localhost tmp]# ls -lh总用量 25M-rw-r--r--. 1 root root 25M ... 1.txt# bzip2压缩[root@localhost tmp]# bzip2 1.txt# 压缩后,比gzip压缩率高[root@localhost tmp]# ls -lh总用量 8.2M-rw-r--r--. 1 root root 8.1M ... 1.txt.bz2# file命令查看文件格式[root@localhost tmp]# file 1.txt.bz21.txt.bz2: bzip2 compressed data, block size = 900k# bzip2解压缩[root@localhost tmp]# bzip2 -d 1.txt.bz2[root@localhost tmp]# ls -lh总用量 25M-rw-r--r--. 1 root root 25M ... 1.txt
  • -c参数在压缩同时保留原文件
[root@localhost tmp]# bzip2 -c 1.txt > 1.txt.bz2[root@localhost tmp]# ls -lh总用量 33M-rw-r--r--. 1 root root  25M ... 1.txt-rw-r--r--. 1 root root 8.1M ... 1.txt.bz2
  • -d -c参数:在解压同时保留原压缩文件
[root@localhost tmp]# bzip2 -d -c 1.txt.bz2 > 3.txt[root@localhost tmp]# ls -l总用量 58816-rw-r--r--. 1 root root 25865478 ... 1.txt-rw-r--r--. 1 root root  8491810 ... 1.txt.bz2-rw-r--r--. 1 root root 25865478 ... 3.txt
  • 指定压缩级压缩(一般保存默认即可)
bzip2同样可以指定压缩级别:1-9,默认级别为6[root@localhost tmp]# bzip2 -1 1.txt[root@localhost tmp]# ls -lh总用量 8.8M-rw-r--r--. 1 root root 8.8M ... 1.txt.bz2
  • 不解压情况下查看压缩文件内文件的内容
[root@localhost tmp]# bzcat 1.txt.bz2 | wc -l176350

 

xz压缩工具

级别使用方法等同与上述的gzip和bzip2命令,同样也不能压缩目录!!

一般情况下,上述3种压缩方式:xz > bz2 > gzip

具体压缩要看文件内容,也不一定xz的压缩包最小

  • 基本使用

# 压缩[root@localhost tmp]# xz 1.txt[root@localhost tmp]# ls -lh总用量 7.0M-rw-r--r--. 1 root root 7.0M ... 1.txt.xz# 解压缩 xz -d等价于unxz[root@localhost tmp]# xz -d 1.txt.xz[root@localhost tmp]# ls -lh总用量 25M-rw-r--r--. 1 root root 25M ... 1.txt
  • 压缩文件同时保留原文件
[root@localhost tmp]# xz -c 1.txt > 1.txt.xz[root@localhost tmp]# ls -lh总用量 32M-rw-r--r--. 1 root root  25M ... 1.txt-rw-r--r--. 1 root root 7.0M ... 1.txt.xz
  • 解压同时保留压缩文件
[root@localhost tmp]# xz -d -c 1.txt.xz > ./2.txt[root@localhost tmp]# ls -lh总用量 57M-rw-r--r--. 1 root root  25M ... 1.txt-rw-r--r--. 1 root root 7.0M ... 1.txt.xz-rw-r--r--. 1 root root  25M ... 2.txt
  • 查看压缩文件内的文件内容(不解压前提下)
[root@localhost tmp]# xzcat 1.txt.xz | wc -l176350
  • xz同样支持指导压缩级别的压缩
[root@localhost tmp]# xz -1 2.txt[root@localhost tmp]# ls -lh总用量 40M-rw-r--r--. 1 root root  25M ... 1.txt-rw-r--r--. 1 root root 7.0M ... 1.txt.xz-rw-r--r--. 1 root root 7.5M ... 2.txt.xz

 

转载于:https://my.oschina.net/u/3964535/blog/2221837

你可能感兴趣的文章
ionic2项目创建回顾 及 react-native 报错处理
查看>>
Data Binding(数据绑定)用户指南
查看>>
走出创业过程中悲伤的低谷
查看>>
js字符串日期yyyy-MM-dd转化为date示例代码
查看>>
在windows Server 2008 R2server上使用infopath不能将表单公布到sharepoint server的问题处理。...
查看>>
Ubuntu 16.04通过APT源安装QUEM虚拟机调试Linux内核
查看>>
[LeetCode]Delete Node in a Linked List
查看>>
Heap & Priority Queue
查看>>
ActiveMQ JMS 项目 基于 Maven 搭建 部署
查看>>
RDA PQ工具使用 (Adi Analysis)
查看>>
iOS中的崩溃类型
查看>>
ACdreamoj 1011(树状数组维护字符串hash前缀和)
查看>>
RPC与REST的差别
查看>>
亚马逊云EC2做PPTP SERVER的笔记
查看>>
MySQL SELECT 语句
查看>>
飘逸的python - 不使用keyword,求和1+2+…+n
查看>>
MFC文档(SDI)应用:画图程序(画圆、画线、鼠标事件)
查看>>
20140808,微软八月安全补丁提前通知
查看>>
LEETCODE
查看>>
Mac下使用Eclipse的Show in Terminal提示command not found: mvn
查看>>