前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用户太苦了!找什么清洁无毒的压缩软件,就没人注意到最后一个吗

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

作者头像
程序员小助手
发布2020-04-08 14:24:07
4630
发布2020-04-08 14:24:07
举报
文章被收录于专栏:程序员小助手程序员小助手

前言

果然都是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才能给你清洁无毒,白莲花般的压缩体验!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 划重点
  • 打包
  • 压缩软件
  • 组装起来,更强大!
  • 结语
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档