美文网首页
文件打包打包压缩

文件打包打包压缩

作者: 互联网中的一个咸鱼 | 来源:发表于2019-08-06 09:36 被阅读0次

10. Linux文件打包压缩

一、压缩技术解密

https://www.jianshu.com/p/7db19fbf8b11

  1. 目前计算机系统中都是用bytes(字节)单位来计量
  2. 事实上计算机最小的计量单位是bits(位)
  3. 1byte=8 bits
  4. 假设byte可以看成底下到模样

5.8个空格就是8个位,而每个空格可以是0或1,现在假设我们只存入了一个1,那会剩余到7个空位,默认情况下这7个空位无法在写入数据。
6.但压缩技术就是把这些没用到到空间提出来,以让档案占用到空间变小

二、常见压缩文件的扩展名

Linux 系统不以扩展名为文件类型识别的依据,这里的扩展名只是让用户易于分辨。

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

常见命令工具

gzip, bzip2 以及 xz ,这些都只能对单个文件进行压缩,不能操作目录。

tar 可以对一个到多个文件或者一个目录进行打包成一个单一的文件,但单独使用 tar 命令时,只是打包,不压缩。

后来,GNU 计划中,将整个 tar 与压缩的功能结合在一起,如此一来提供使用者更方便并且更强大的压缩与打包功能!

gzip

gzip 压缩解压单个文件
压缩文件后,自动删除源文件, 自动添加 .gz 为扩展名
解压文件后,自动删除原压缩文件

gzip   [-vd]    file
选项和参数
-v   压缩时候显示压缩比
-d   解压

cp  /etc/services   /tmp

cd /tmp

压缩
gzip  -v    services

查看压缩文件的内容
zcat    services.gz

搜索压缩文件的关键字位置
zgrep blp5 services.gz

浏览压缩文件
zless   services.gz

解压
gzip   services.gz

压缩文件并保留源文件
gzip -c services > services.gz

bzip2

更好的压缩比,但是会占用相对多一些的时间
用法几乎和 gzip 一样

[dmtsai@study ~]$ bzip2 [-cdkzv#] 文件名
[dmtsai@study ~]$ bzcat 文件名.bz2
选项与参数:
-c  :将压缩的过程产生的数据输出到屏幕上!
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始的文件喔!
-v  :可以显示出原文件/压缩文件的压缩比等信息;
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

示例

压缩

bzip2   -v    services

查看压缩文件内容

bzcat    services.bg

bzless   services.bz2

解压
bzat  -d   services.bz2

xz 扩展

更高压缩比,相应的更长时间的耗费。
和前两个几乎一样的用法

xz   --help

tar

通用选项

-c  :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
-t  :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
      特别留意的是, -c, -t, -x 不可同时出现在一串命令行中。

-v  :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项啰!(比较不会忘记)
-C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。

只打包,不压缩

创建
tar   -cvf   创建后的文件名.tar    文档1  文档2

查看包内的文件列表
tar   -tf    创建后的文件名.tar

解包到当前位置
tar   -xf    创建后的文件名.tar

解包到指定位置
tar   -xf    创建后的文件名.tar   -C    /tmp

打包后进行压缩

可以使用的选项

-z  :通过 gzip  的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-j  :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-J  :通过 xz    的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
 以上 3 个 选项互斥

特别的

-p(小写) :保留备份数据的原本权限与属性,常用于备份重要的配置文件
-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!

示例: 备份系统的配置文件,并且保留源文件的权限和属性信息

time tar -zpcv -f etc.tar.gz /etc

time 命令可以计算某个程序执行的时间

查看

查看压缩包的文件列表

tar -tf etc.tar.gz

解压

解压压缩包中的某一个文件

tar -xf etc.tar.gz  etc/sysctl.conf_bk

解压到指定目录

tar -xf etc.tar.gz   -C   /tmp

压缩的时候排除文档

打包压缩的时候可以排除一个或者多个文件或者目录

排除一个文件
tar  -jcv  -f   t.tar.bz2  d1  d2  --exclude=s1

排除多个文件
tar  -jcv   -f  t.tar.bz2  d1  d2  --exclude={s1,s2}

目录也可以
tar  -jcv  -f t.tar.bz2 d1 d2 --exclude=d1

© 著作权归作者所有,转载或内容合作请联系作者

相关文章

  • 第十四天 压缩 打包

    今日内容: 1.文件打包与压缩 2.gzip打包与压缩 3.zip打包与压缩 4.tar打包与压缩 一.文件打包与...

  • Linux压缩打包day15

    1.文件打包与压缩2.gzip打包与压缩3.zip打包与压缩4.tar打包与压缩 一、文件打包与压缩 1.什么是文...

  • Linux运维教程4-打包压缩、别名管理

    打包压缩、别名管理 1.打包压缩 Ⅰ.为什么要打包压缩: 整体上传也是可以,打包压缩速度更快 有时候备份项目文件,...

  • 常用命令

    打包且压缩 打包并且压缩当前目录下所有的文件:

  • Linux基础命令四

    一、打包解包压缩解压先关命令 zip打包解包压缩解压 tar打包解包压缩解压 -z 压缩,解压 -c 创建文件 -...

  • 第6节 文件打包与解压缩

    文件打包与解压缩 0.0压缩文件类型: 文件后缀名 说明 *.zip zip 程序打包压缩的文件 *.rar ...

  • Linux文件压缩解压:gzip

    09.文件压缩解压:gzip tar与gzip命令结合使用实现文件打包、压缩。tar只负责打包文件,但不压缩,用g...

  • Linux命令(6)

    打包压缩与搜索命令 tar 对文件进行打包压缩或者解压命令,格式为tar[选项][文件]-c ...

  • Linux 基础入门(新版)”实验报告 文件打包与解压缩

    文件打包与解压缩 1.zip压缩打包程序 打包命令:$ zip -r -q -o shiyanlou.zip /h...

  • Linux常用命令(二)

    文件归档、打包压缩命令:rar 缺省仅仅打包归档,不进行文件压缩 常用选项参数: "-c"创建归档文件包 "-x"...

网友评论

      本文标题:文件打包打包压缩

      本文链接:https://www.haomeiwen.com/subject/mjserctx.html