Linux压缩及归档详解

我们Linux操作系统中的压缩文件的格式主要有gz、bz2、xz以及Z四种,压缩的过程是我

们的操作系统利用压缩算法来进行实现的,压缩算法不同,压缩比就会不同,压缩文件的过程

是先利用压缩算法去扫描文件,然后利用压缩算法去完成压缩,压缩比指的是压缩前的文件大

小减去压缩后的文件大小的文件大小的差值比上压缩前的文件大小,故压缩比越大,说明压缩

性能就越好,我们早期的Unix操作系统上有一种压缩工具叫做compress,compress本身的意思

就是压缩的意思,compress命令压缩后的文件的文件名的后缀为.Z,而与之对应的解压缩命令

就是uncompress,这个命令的压缩比很小,是一个很古老的压缩工具。

目前我们的Linux系统上流行的压缩工具主要有以下几种,按出现时间的早晚来进行排序:

1,gz格式的压缩工具

压缩工具为gzip,压缩后的文件名的后缀为.gz

使用格式:gzip filename1 filename2 ...,其后可以指定多个文件,

gzip会把每一个文件单独压缩,该工具在压缩之后会删除原文件

该命令所对应的解压缩命令为gunzip

使用格式:gunzip filename1 filename2 ...

解压缩之后也会删除原文件(即压缩后的文件)

但是我们的gzip命令有一个-d选项就是用来解压缩的,

使用格式:gzip -d filename1 filename2 ...

还可以使用- #(1-9)选项来指定压缩比,默认的压缩比为6,

因为压缩比是和压缩速度成反比的

我们还可以使用zcat命令在不解压的情况下去查看gz格式的压缩文件的内容,

使用格式:zcat filename.gz

该工具只能用来压缩文件而不能用来压缩目录

2,bz2格式的压缩工具

压缩工具为bzip2(2为bzip工具的版本号),压缩后的文件名的后缀为.bz2,该工具

比gzip工具有着更大的压缩比,对小文件来讲优势不是很明显,对大文件来讲优势明显,但是

和gzip工具的使用格式是一样的:

使用格式:bzip2 filename1 filename2 ...,同样该工具也只能用来压缩文件,而

不可以压缩目录,压缩后也会删除原文件:

解压缩的工具为bunzip2,使用格式为bunzip2 filename1 filename2 ...,解压缩后

也会删除原文件(即即压缩文件):

同样该工具也支持-d选项进行解压缩,且支持- #选项来指定压缩比:

常用-k(--keep)选项:压缩及解压缩的时候可以保留原文件,而不将原文件删除:

我们可以使用bzcat命令,在不解压文件的情况下,来查看bz格式的压缩文件的内容:

3,xz格式的压缩工具

温故->sed命令具有查找并替换的功能,但是sed命令默认是不会修改原文件的内容

的,但是sed命令的-i选项可以修改原文件的内容:

压缩工具为xz,压缩后的文件名的后缀为.xz

使用格式:xz filename1 filename2 ...,压缩程度比bzip2更大,是三种压缩工具

中压缩比最大的工具,压缩后同样会删除原文件:

解压缩的工具为unxz,使用格式:unxz filename1 filename2 ...,解压缩后也会

删除原文件(即压缩文件):

xz命令也支持-d选项进行解压缩:

也支持-#选项指定压缩比,默认压缩比为6:

也支持-k(--keep)选项,在压缩及解压缩的时候保留原文件:

xzcat命令可以在不解压文件的情况下,查看xz格式压缩文件的内容:

xz命令也是只能压缩文件,而不可以压缩目录:

xzdec(xzdecompress)是一种也可以解压缩xz格式的压缩文件中的内容的压缩工具:

xzdec命令是一种将压缩文件中的内容解压输出的一种解压工具,而不是解压缩压缩

文件的工具

由以上可知我们的压缩工具只能压缩文件而不能压缩目录,如果指向目录的话我们的压缩

命令会把目录下的文件一个一个的单独压缩,这些压缩工具在压缩的过程中,默认会删除原文

件,而只保留压缩后的文件,我们在上面介绍了三种目前流行的压缩工具,接下来我们再介绍

一种既可以归档又可以压缩的工具,归档的意思我们可以直接理解为将所有要压缩的文件进行

打包,将多个文件压缩到一起的动作叫做归档(archive),归档本身并不意味着压缩,但是我

们下来要介绍的这种工具本身就是一种既归档又压缩的工具:

·zip命令

zip命令可以压缩目录,而且压缩后不删除原文件:

使用格式:zip 压缩后的文件名(由用户自己指定).zip filename1 filename2 ...

上图中的deflated、stored分别指的是压缩文件时的压缩算法

解归档压缩的命令:

·unzip命令

使用格式:unzip 压缩文件名.zip

解压缩时也不会删除原文件下面来介绍一种我们在今后非常常用的一种命令,tar命令:

tar命令是一种只归档不压缩的工具

使用格式:tar [options] filename.tar filename1 filename2 ...

-c选项:创建归档文件

-x选项:展开归档

-t选项:不展开归档的情况下,查看归档了哪些文件

--xattrs:表示在归档的同时保留文件的扩展属性信息,因为我们默认在进行文件归

档的时候不会保留文件的扩展属性信息

-f选项:-f filename.tar->归档后的文件名是由用户自定义的,这个文件名必须紧

跟在-f选项后面

创建归档文件:归档的时候会保留原文件

在不展开归档文件的情况下查看归档了那些文件:

展开归档:展开归档的时候也会保留原文件:

tar命令允许我们将归档和压缩的功能集成起来,用一条命令就可以完成归档及压缩:

-z选项表示让我们的tar命令来调用gzip工具来完成压缩,

使用格式:

tar -zcf filename.tar.gz(文件名后缀多了一个可以标识我们使用的是哪种压缩工

具的后缀) filename1 filename2 ...

归档及压缩也不会删除原文件:

解压缩再展开归档:也不会删除原文件

tar -zxf filename.tar.gz

-z选项可以省略因为我们的tar命令,可以根据压缩归档文件的后缀名来判断我们使用

了哪种压缩工具,从而就使用哪种工具来解压缩:

不展开归档直接查看归档压缩包的内容:

tar -ztf filename.tar.gz,同理-z选项也可以省略

-j选项表示让我们的tar命令去调用我们的bzip2工具来完成压缩:

使用格式:

归档及压缩文件:不删除原文件

tar -jcf filename.tar.bz2 filename1 filename2 ...

解归档解压缩文件:不删除原文件

tar -jxf filename.tar.bz2->同理-j选项可以省略

查看压缩包中的内容

tar -jtf filename.tar.bz2->同理-j选项可以省略

-J选项可以使得我们的tar命令来调用我们的xz压缩工具来完成文件的压缩:

使用格式:

压缩及归档文件:不删除原文件

tar -Jcf filename.tar.xz filename1 filename2 ...

解归档解压缩文件:不删除原文件

tar -Jxf filename.tar.xz->同理-J选项可以省略

查看归档压缩包的内容:

tar -Jtf filename.tar.xz->同理-J选项可以省略

我们还有一种归档命令叫做cpio,cpio也是一种归档工具,比tar古老,但是有些场合适

用于使用cpio不适用于使用tar。

我们Linux系统内置了一个可以使得我们的shell脚本和用户进行交互的命令,这个命令

叫做read命令:

read命令后面可以接多个参数,参数之间用空格隔开,参数和用户输入的参数一一对应

-p选项->-p "给出用户的提示"

-t选项->指定等待用户输入数据的时间

·练习:写一个脚本,要求

脚本可以和用户进行交互,使得用户输入两个整数,求这两个整数的和,不过脚本有等

待时间,超出等待时间5S脚本自动退出

脚本内容:

脚本执行结果:

温故:echo -n 表示不换行输出

·练习:写一个脚本,要求

脚本可以使用户从键盘输入3个文件,我们的脚本可以使得这几个文件被归档压缩成一

个文件

脚本内容:

脚本执行结果:

linux既能归档也能压缩的命令,Linux压缩及归档相关推荐

  1. linux 下删除批量文件命令,linux 批量删除文件与空文件删除命令linux操作系统 -电脑资料...

    在linux中删除文件与删除目录及删除空文章都是使用rm 命令了,执行rm指令可删除文件或目录,如欲删除目录必须加上参数\"-r\",否则预设仅会删除文件,下面我来介绍在linux ...

  2. linux查看日志保留时间多长的命令,Linux系统日志的一些讲解

    Linux系统日志 1.cat /etc/logrotate.conf文件里的内容(转储==归档) # see "man logrotate" for details # rota ...

  3. linux+查内存数量,检查 Linux 中内存使用情况的 8 条命令 | Linux 中国

    作为一名 Linux 管理员,知道如何获取当前可用的和已经使用的资源情况,比如内存.CPU.磁盘等,是相当重要的. -- Magesh Maruthamuthu Linux 并不像 Windows,你 ...

  4. 服务器压缩文件命令,linux服务器解压缩文件的命令

    尝试去好好用linux.新手起步.   这边只会提到我用过的.其他相关的以后我用到了我会补充的.如果有错欢迎指正 注:1.c-创建-create 2.v-复杂输出 3.f-文件-file 4.x-解压 ...

  5. linux加密压缩文件命令,linux 系统下 zip 的加密压缩与解压缩命令

    1.加密压缩 [[email protected] shine]# zip -rP king java.zip java adding: java/ (stored 0%) adding: java/ ...

  6. linux实验二目录与文件查看相关命令,Linux文件和目录管理相关命令(二)

    今天小编将继续为大家带来Linux文件和目录管理相关命令的文章,想要做Linux运维工程师的小伙伴,来看一看,希望能对你有帮助哦~ 一 查看文件内容 上面提到的一些命令例如ls只是用来显示文件的属性与 ...

  7. linux系统命令打不出字,常用的命令 linux

    find / -amin -10 # 查找在系统中最后10分钟访问的文件 find / -atime -2 # 查找在系统中最后48小时访问的文件 find / -empty # 查找在系统中为空的文 ...

  8. linux touch 源码,一天一个shell命令 linux文本操作系列-touch命令用法

    之前我们学过dd创建测试文件,如果不需要考虑文件大小,创建一个空白文件的话,不妨试试 touch: 将每个文件的访问时间和修改时间改为当前时间. 不存在的文件将会被创建为空文件,除非使用-c 或-h ...

  9. linux查看日志保留时间多长的命令,Linux常用的日志查看命令

    对于大型网站来说,很多网站在可用性方面提出4个9或者5个9的要求,如果是4个9,那么网站全年的不可用时间不能超过52.6分钟,如果是5个9,全年不可用时间不能超过5.2分钟.这其实是很难的,无论多么厉 ...

最新文章

  1. WebSocket客户端连接不上和掉线的问题以及解决方案
  2. 如何实现阿里云容器镜像服务反向访问代理?
  3. POJ - 3294 Life Forms(二分+后缀数组)
  4. Unichar, char, wchar_t
  5. 20172310《程序设计与数据结构》(下)实验二:二叉树实验报告
  6. PointTrackNet:一种用于点云三维目标检测和跟踪的端到端网络
  7. OpenCore引导配置说明第十一版说明-基于OpenCore-0.6.4正式版
  8. oracle中的ROLLUP函数
  9. 三.修改Jenkins插件下载路径
  10. 服务器的上行带宽和下行带宽是什么意思
  11. 恩尼格玛机(字母转换,水题)
  12. 一文看懂,互联网这30年!
  13. Html5用Canvas制作绘图板最终
  14. pytorch-Detach的作用
  15. vue里面使用图片的懒加载
  16. 郑州中小幼计算机初中级,郑州市中小幼计算机等级考试大纲.doc
  17. hive和presto计算日期时间差
  18. “d3dx9.h”: No such file or directory 解决办法
  19. DICOM标准中关于C-Find,运用StudyTime进行查找时无法查找到数据的问题
  20. 快速安装visual studio 2005 sp1补丁(转载)

热门文章

  1. java创建文件夹和文件_Java创建文件夹与创建文件
  2. php 判断分辨率做判断,PHP判断是否是成人照片或者裸照:基于皮肤像素点来检测图片裸照的类文件...
  3. 二分答案——H指数(Leetcode 274)
  4. PAT乙级(1002 写出这个数 )
  5. 1024程序员节:给DBA们的福音
  6. 从Oracle到PostgreSQL:最全控制文件
  7. 谈谈有什么方法可以快捷实现多场景下的线程安全
  8. 带你了解家居智能的心脏:物联网关
  9. 使用 scipy.fft 进行Fourier Transform:Python 信号处理
  10. 数仓集群管理:单节点故障RTO机制分析