什么压缩软件纯净无毒?


前言
果然都是windows重度用户 。本文带你用Linux的角度看“压缩”!
划重点
相对于windows下的鼠标点点拖拖 。linux在终端 。大概率是用不着界面操作文件和文件夹的 。
Linux是开放源代码的 。由数量庞大的GNU软件搭建而成 。本文的压缩软件 。无毒是肯定的(因为犯不着 。留后门 。是不想在开源界混了吗?) 。

什么压缩软件纯净无毒?

文章插图
打包
压缩 。解压缩软件千千万 。打包解包的指令只一个——tar 。
好用指出 。我想都不用多说了吧 。
使用man tar查看该手册 。重点的功能描述 。和示例都圈出来了 。
什么压缩软件纯净无毒?

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

文章插图
压缩软件
终于说到压缩软件了 。Linux下还有不少选择 。常见一些压缩文件的扩展名会有
*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2, *.xz
我们知道 。linux的文档扩展名是没有用的 。这样写只是用于标识 。该文档是基于那个软件产生的 。
什么压缩软件纯净无毒?

文章插图
Linux下用的最多的 。当属 gzip 。bzip2 。和xz 。由于使用习惯 。我们重点介绍一下gzip这款压缩软件 。
gzip是GNU软件 。业已取代了较为古旧的compress指令 。完全支持windows下使用较高的zip文件的压缩解压 。
后来GNU又开发出了bzip2和xz 。这些压缩效果比较好 。效率比较高的软件 。但是这3款软件 。通畅仅能针对一个文件进行压缩和解压缩 。这样的话 。如果操作为数众多的文件 。岂不崩溃!
所以 。就体现出上一节所说tar打包指令的重要性 。
这些工具联合起来 。威力无比!
言归正传 。下面是gzip的常用参数和使用方式 。
gzip [-cdtv#] 文件名
其中 。
-c 将压缩数据输出到终端stdout
-d 解压缩
-t 用来减压一个压缩文件的一致性 。检查文件是否有误
-v 可视化显示原文件 。压缩文件压缩比等信息
下面通过例子来说明其用法 。我们使用图片展示这个过程 。
什么压缩软件纯净无毒?

文章插图
前提是我们创建了一个目录
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才能给你清洁无毒 。白莲花般的压缩体验!

推荐阅读