参考:Linux命令——ar

为什么文件要压缩?

当文件过大时,无论是本地做备份,复制都很麻烦,而且还浪费磁盘空间。如果用网络传输,大文件无疑会浪费大量宝贵带宽。文件压缩技术可以有效解决这个问题,但是压缩过的文件是不能直接被OS使用的,必须要解压缩才可以。

常见压缩文件

在Linux的环境中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』,为什么会有这样的扩展名呢?不是说 Linux 的扩展名没有什么作用吗?

因为 Linux 支持的压缩命令非常多,且不同的命令所用的压缩技术并不相同,彼此之间无法互通压缩/解压缩文件。 所以,当你下载到某个压缩文件时,自然就需要以某种方式知道该文件是由哪种压缩命令造出来的,方便对照解压缩,后缀名正是解决这个问题的方法。

*.Z compress 程序压缩的文件;
*.gz gzip 程序压缩的文件;
*.bz2 bzip2 程序压缩的文件;
*.tar tar 程序打包的数据,并没有压缩过;
*.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩

Linux上常见的压缩命令就是 gzip 与 bzip2 ,至于 compress 已经淘汰了。 gzip 是由 GNU开发的压缩命令,该命令已取代 compress 。 后来 GNU 又开发出 bzip2 这个压缩比更好的压缩命令!不过,这些命令通常仅能针对一个文件来压缩与解压缩,如此一来, 每次压缩与解压缩都要一大堆文件,岂不烦人?此时,那个所谓的『打包软件, tar』就显的很重要啦!

这个 tar 可以将很多文件『打包』成为一个文件!甚至是目录也可以这么玩。不过,单纯的 tar 功能仅是『打包』而已,亦即是将很多文件集结成为一个文件, 事实上,他并没有提供压缩的功能,后来,GNU将整个 tar 与压缩的功能结合在一起,如此一来提供使用者更方便并且更强大的压缩与打包功能!

gzip,zcat 

选项与参数

-c :压缩
-d :解压缩,会把原本的.gz删除
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-v :可以显示出原文件/压缩文件的压缩比等资讯;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

zcat

可以查看.gz文件

bzip2,bzcat 

选项与参数

-c :压缩

-d :解压缩,会删除原来bz2文件

-k :保留原始文件,而不会删除原始的文件喔!

-z :强制执行压缩

-v :可以显示出原文件/压缩文件的压缩比等资讯;

-f  :bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。

-s  :降低程序执行时内存使用量

-t   :测试.bz2压缩文件的完整性

-L  :  显示license信息

--repetitive-best : 若文件中有重复出现的资料时,可利用此参数提高压缩效果。

--repetitive-fast : 若文件中有重复出现的资料时,可利用此参数加快执行速度。

-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最慢, -1 最快!

bzcat

可以查看.bz2文件

tar

选项与参数

-c :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)

-t :察看打包文件的内容含有哪些文件,重点在看文件名;一般与-f连用

-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开

-j :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2

-z :透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz

-v :在压缩/解压缩的过程中,将正在处理的档名显示出来!

-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项罗!

-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

-p :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档

-P :保留绝对路径,亦即允许备份数据中含有根目录存在之意;

--exclude=FILE:在压缩的过程中,不要将 FILE 打包!

 

Linux命令——gzip、zcat、bzip2、bzcat、tar的更多相关文章

  1. Linux常见压缩命令 - gzip,zcat,bzip2,bzcat

    几个常见的压缩文件扩展名 *.Z compress 程序压缩的文件: *.gz gzip 程序压缩的文件: *.bz2 bzip2 程序压缩的文件: *.tar tar 程序打包的数据,并没有压缩过: ...

  2. 压缩及解压命令gzip、bzip2、tar

    1. gzip 描述:压缩与解压缩 用法:gzip[选项]...[文件名称]... 选项:-d 解压 gzip hello.txt     # 文件压缩后名为hello.txt.gz gzip -d ...

  3. 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等   你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...

  4. Linux中gzip、bzip2、zip、unzip、tar使用介绍

    压缩解压缩命令介绍.gz 压缩为gzip文件.bz2 压缩为bzip2文件.tar 打包文件,将多个文件合并成一个目录.tar.gz 先打成tar包,再压缩为gzip文件.tar.bz2 先打成tar ...

  5. 压缩、解压命令——gzip、gunzip、tar、zip、bzip2

    1.gzip命令与gunzip命令(压缩解压文件): (1)gzip——压缩: 利用touch命令创建一个文件,并向里面写入内容: 对创建的文件进行压缩: (2)解压缩gzip -d或gunzip: ...

  6. vi、wc、gzip、bzip2、tar、yum安装、dpek、用户信息操作等命令

    命令模式 输入"dd"即可将这一行删除 按下"p"即可粘贴 插入模式: a:从光标这个位置之后插入 A:在行尾插入 i:从光标之前插入 I:行首插入 o:在光标 ...

  7. 每天一个linux命令(28):tar命令

    通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux ...

  8. 每天一个linux命令(21):tar命令

    通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar 命令可以为linu ...

  9. 如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等(转)

    你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并行的操作.数据专家们,我是在对你们说.你可能有一个4核或更多核的CPU,但我们合适的工具,例如 grep, ...

随机推荐

  1. MATLAB分类与预测算法函数

    1.glmfit() 功能:构建一个广义线性回归模型. 使用格式:b=glmfit(X,y,distr),根据属性数据X以及每个记录对应的类别数据y构建一个线性回归模型,distr可取值为:binom ...

  2. 【转】Linux用Nasm巧汇编

    看到一篇总结nasm的使用,解决了我的一点问题,下面是原文链接 原文链接:https://blog.csdn.net/zdwzzu2006/article/details/3990502

  3. Spring 使用单选按钮

    模型层需要提供数据选项,设置错误信息 关键代码 @NotNull(message = "请选择性别") private String gender; 控制器层需要在显示视图前,通过 ...

  4. 502 BAD GATEWAY-k8s的cgroup限制了apache的可用内存

    1.release的组件逻辑图 2.表象:按F12,总是报502 BAD GATEWAY 3.nginx日志 [error] #: * upstream prematurely closed conn ...

  5. java连接zookeeper实现zookeeper的基本操作

    Java服务端连接Zookeeper,进行节点信息的获取,管理…,整理成一个基本工具, 添加依赖: <dependency> <groupId>org.apache.zooke ...

  6. java源码 --List、Set、Collection

    List和Set都是接口,它们继承与Collection.List是有序的队列,可以用重复的元素:而Set是数学概念中的集合,不能有重复的元素.List和Set都有它们各自的实现类. 为了方便,我们抽 ...

  7. 理解 is_callable

    官方解释: (PHP 4 >= 4.0.6, PHP 5, PHP 7) is_callable — 检测参数是否为合法的可调用结构. 说明 is_callable ( callable $na ...

  8. 让Sublime Text3支持新建.vue高亮显示模板

    首先要使用Package Control,安装要好 Vue Syntax Highlight和sublimetmpl插件. 1, 在Packages\SublimeTmpl\templates目录下新 ...

  9. ASP.NET Core启动流程

    1. 引言 对于ASP.NET Core应用程序来说,我们要记住非常重要的一点是:其本质上是一个独立的控制台应用,它并不是必需在IIS内部托管且并不需要IIS来启动运行(而这正是ASP.NET Cor ...

  10. mybatis相关知识积累

    mybatis Statement Statement对象用于将 SQL 语句发送到数据库中. 实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL语句的包容器: Stateme ...