Linux—文件的压缩(一) gzip

本文仅为学习整理资料, 图片、知识点皆来源于《鸟叔的Linux私房菜》

linux代码运行环境为 CentOS7

常见的压缩文件后缀名:

*.Z         compress 程式壓縮的檔案;
*.zip       zip 程式壓縮的檔案;
*.gz        gzip 程式壓縮的檔案;
*.bz2       bzip2 程式壓縮的檔案;
*.xz        xz 程式壓縮的檔案;
*.tar       tar 程式打包的資料,並沒有壓縮過;
*.tar.gz    tar 程式打包的檔案,其中並且經過 gzip 的壓縮
*.tar.bz2   tar 程式打包的檔案,其中並且經過 bzip2 的壓縮
*.tar.xz    tar 程式打包的檔案,其中並且經過 xz 的壓縮

gzip是由GNU计划所开发出来的压缩指令, 该指令已经取代了compress, 后来GNU又开发出了bzip2、xz这样的压缩比更好的压缩指令.

重要的是, 这些指令所压缩的对象都是文件, 所以针对目录的压缩, 需要用到tar来进行打包.

gzip, zcat/zmore/zless/zgrep

gzip可以解开compress、zip和gzip等软件所压缩的文件, 由gzip所压缩得到的文件名为*.gz.

$ gzip [-cdtv#] 文件名
$ zcat *.gz
選項與參數:
-c  :將壓縮的資料輸出到螢幕上,可透過資料流重導向來處理;
-d  :解壓縮的參數;
-t  :可以用來檢驗一個壓縮檔的一致性~看看檔案有無錯誤;
-v  :可以顯示出原檔案/壓縮檔案的壓縮比等資訊;
-#  :# 為數字的意思,代表壓縮等級,-1 最快,但是壓縮比最差、-9 最慢,但是壓縮比最好!預設是 -6
范例: 找出/etc下体积最大的文件, 将它复制到/tmp, 然后以gzip压缩

在这里插入图片描述

man ls 可知:

  • -l: use a long listing format
  • -d: list directories themselves, not their contents
  • -S: sort by file size
  • -r: reverse order while sorting

所输出结果的最下面一个就是体积最大的文件了:
在这里插入图片描述

执行压缩:

在这里插入图片描述

加入-v参数可以查看到压缩比

当压缩的文件是文字文档类型时, 使用zcat可以讲该文件的解压缩之后的内容输出到屏幕上.

解压缩可以使用 gunzip、gzip -d

在这里插入图片描述

注意: 和Windows不同的是, Linux中使用gzip压缩后, 压缩后的文件会替换掉原文件, 同样, 解压缩得到的同名文件也会取代掉原压缩文件.

范例: 使用最佳压缩比压缩services, 并保留原来的档案

在这里插入图片描述

参数解释:

-9 : gzip提供了1-9个压缩登记, -9为最高压缩比等级

-c: 将压缩的文件输出到屏幕上, 在这里我们通过>的重定向, 将资料流输出到了 services.gz(自命名)文件中, 即避免了原文件被取代

cat/more/less 可以使用不同的方式來讀取純文字檔,那個 zcat/zmore/zless 則可以對應於 cat/more/less 的方式來讀取純文字檔被壓縮後的壓縮檔! 由於 gzip 這個壓縮指令主要想要用來取代 compress 的,所以不但 compress 的壓縮檔案可以使用 gzip 來解開,同時 zcat 這個指令可以同時讀取 compress 與 gzip 的壓縮檔呦!

另外,如果你還想要從文字壓縮檔當中找資料的話,可以透過 zgrep 來搜尋關鍵字喔!而不需要將壓縮檔解開才以 grep 進行! 這對查詢備份中的文字檔資料相當有用!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值