没有广告的压缩软件_用户太苦了!找什么清洁无毒的压缩软件,就没人注意到最后一个吗...

20483c53c5787924ef354cc4a6ff0c03.png

前言

果然都是windows重度用户,本文带你用Linux的角度看“压缩”!

划重点

相对于windows下的鼠标点点拖拖,linux在终端,大概率是用不着界面操作文件和文件夹的。

Linux是开放源代码的,由数量庞大的GNU软件搭建而成。本文的压缩软件,无毒是肯定的(因为犯不着,留后门,是不想在开源界混了吗?)。

c976859be422917d7a4aa5e2f1e26828.png

打包

压缩,解压缩软件千千万,打包解包的指令只一个——tar。

好用指出,我想都不用多说了吧。

使用man tar查看该手册,重点的功能描述,和示例都圈出来了。

33ee7706f1d247615f022467adf76fbb.png

因为一般的压缩软件,仅能对单个文件进行压缩,如果对于目录,是无法操作的。所以这时候需要“打包”,把一堆杂七杂八的文件,甭管什么往一个包里一装。这就是一个整体,然后调用压缩指令,就可以了。这也是linux系统实践中最常用的方法。

英文的不直观,下面是中文的参数注释。

e9b514f952fa11c12ff14efa83fefbea.png

压缩软件

终于说到压缩软件了。Linux下还有不少选择,常见一些压缩文件的扩展名会有

*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2, *.xz

我们知道,linux的文档扩展名是没有用的,这样写只是用于标识,该文档是基于那个软件产生的。

3fafb94e9fd2e90e972670fa1530a3ef.png

Linux下用的最多的,当属 gzip,bzip2,和xz。由于使用习惯,我们重点介绍一下gzip这款压缩软件。

gzip是GNU软件,业已取代了较为古旧的compress指令。完全支持windows下使用较高的zip文件的压缩解压。

后来GNU又开发出了bzip2和xz,这些压缩效果比较好,效率比较高的软件。但是这3款软件,通畅仅能针对一个文件进行压缩和解压缩。这样的话,如果操作为数众多的文件,岂不崩溃!

所以,就体现出上一节所说tar打包指令的重要性。

这些工具联合起来,威力无比!

言归正传。下面是gzip的常用参数和使用方式。

gzip [-cdtv#] 文件名

其中,

  • -c 将压缩数据输出到终端stdout
  • -d 解压缩
  • -t 用来减压一个压缩文件的一致性,检查文件是否有误
  • -v 可视化显示原文件,压缩文件压缩比等信息

下面通过例子来说明其用法。我们使用图片展示这个过程。

82c7fdb2ac506f25b9df6ffaa709a146.png

前提是我们创建了一个目录

mkdir -pv /tmp/gzip_demo

然后创建一个随机文件,并填充一些内容

openssl rand -base64 1024984 > log

生成的单文件log使用gzip进行压缩

gzip -v log

可以看到,压缩比率和目标文件名。log文件被替换。这是gzip的工作原理。

在默认情况下,原本的文件会被压缩为 gz 为后缀的文档,源文件不复存在。这与windows下的winrar,7zip等软件完全不同,一定要注意,注意,注意

组装起来,更强大!

Linux下的指令,通过管道符的助力,可以让你的代码随着思绪飞舞,一行解决战斗,瞬间搞定!

下面结合打包指令tar,进行一些更为复杂的压缩操作。

示例1:打包某几个目录,但是排除一些特定目录

例如,打包 /etc和/root目录,但是 /root/etc* 开头的文件,不需要打包和压缩。将新生成的压缩包放置在 /root/system.tar.gz 内。

指令需要像下面这样写:

tar -zcv -f /root/system.tar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.gz /etc /root

逐一说明参数的用法:

  • -z 使用 gzip 压缩
  • -c 创建文档
  • -v 展示详细信息
  • --exclude 指定不包含规则

因为目标文档也在压缩文档内,所以一定要追加到 --exclude 选项内。否则死循环。

示例2:仅备份/etc目录下修改日期在2019-10-01之后的文件

直接上指令:

tar -zcv -f /root/etc.newer.tar.gz --newer-mtime="2019/10/01" /etc/*

主要使用了 --newer-mtime 选项。别的都与上一条一致。

结语

好了,简短写到这儿吧。Linux下工具很多,效率很高,持续多年生产环境打磨,性能稳定的一匹。你值得信赖。

windows下,动不动就要授权,动不动就要弹广告的压缩软件,真的不堪回首。

也许只有Linux才能给你清洁无毒,白莲花般的压缩体验!

Happy coding :-)

【本文由 @程序员小助手 发布,持续分享编程的故事,欢迎关注】
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值