文章目录

  • Linux下文件的压缩、解压缩、打包以及提取
    • 一、单个文件的解压缩
      • 1、压缩文件:
      • 2、文件的压缩
      • 3、压缩文件的查看:
      • 4、文件的解压:gunzip 【选项】 文件名
    • 二、多个文件的打包和提取

Linux下文件的压缩、解压缩、打包以及提取

一、单个文件的解压缩

1、压缩文件:

压缩文件就是经过压缩程序压缩的文件,它的原理是把文件的二进制代码进行压缩,把相邻的0,1代码减少,比如1111111,可以把它记作6个1的写法61,这样来减少该文件的空间,实现压缩。

2、文件的压缩

(1)常见压缩文件的扩展名(*表示文件的名字):

压缩文件的扩展名 注释
*.gz 通过gzip程序压缩的文件
*.bz2 通过bzip2程序压缩的文件
*.tar tar程序打包的数据,并没有经过压缩
*.tar.gz tar程序打包的文件,其中经过gzip的压缩
*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩

(2)压缩文件的两种命令:gzip 【选项】 文件名

gzip 文件名(压缩后原文件被删除)
gzip -c 文件名A > 文件名B.gz(压缩后原文件被保留)
备注:A和B可以不是同一个文件名,修改的后缀也可以不是 .gz 区别就在于 .gz我们可以直观的看出来它是压缩文件,而修改成其他的后缀就不可以直观的知道它是否为压缩文件,也不能够用Tab键进行自动补全。因此建议大家用压缩格式的后缀,文件名与原来的文件名可以不一样。
-c      将输出写到标准输出上,并保留原有文件
-d      将压缩文件解压
-digit   digit部分表示的为数字(1-9)代表压缩速度,但压缩效果越差,数值越大,压缩速度越慢,压缩效果也好,默认为6

接下来我们演示一下,做个对比。
①首先我们在一个空的“压缩”文件夹中创建两个文件fileA和fileB,分别写入hello,world和hello,B。
②然后我们使用第一种压缩命令执行给文件fileA,第二种压缩命令执行给fileB,最后使用ll查看结果发现发现第一种压缩命令的原文件被删除,第二种却没有。

3、压缩文件的查看:

好文件已经压缩好了。如果我们要查看里面的内容怎么办呢?难道用cat命令,答案当然是否定的。查看压缩文件的命令是  zcat 文件名.gz 如果使用cat命令会导致文件无法被查看(乱码)。对于bzip2文件的查看方式为bzcat 文件名.bz2

4、文件的解压:gunzip 【选项】 文件名

gunzip 文件名.gz、gzip -d 文件名.gz(解压后原文件被删除)
gunzip -c 文件名A.gz > 文件名B.gz(解压后原文件被保留)
备注:同上

(1)由于这里方法与第1步骤相同,因此不再累赘。但需要补充一点前面没有提到的是下图中红色线框框中的是fileB文件和fileB.gz文件的大小,为什么压缩后的文件会比压缩前的文件大呢?其实就是因为我们里面写的东西太少了,它在压缩的时候还要记录这个文件是怎么压缩的,这就会导致压缩后的文件比未压缩的还大。


(2)除了gunzip 文件名的解压方式,这里还有一个gzip -d 文件名.gz 的解压方式两种接压方式一样,没有区别。

总结:由于bzip2和gzip用法相同,这里不在演示。要注意的是gzip压缩速度要比bzip2压缩速度快,同样带来的代价就是gzip的压缩率没有bizp2高

二、多个文件的打包和提取

文件的归档即打包文件的语法:tar 【主选项+辅选项】要打包的文件和目录
主选项(唯一,只能有一个):

c 打包:创建一个新归档文件
x 解包:从归档文件中提取文件出来
t 查看包:列出归档文件的内容,查看已经打包了哪些文件,重点在于查看文件名

辅选项

z 通过gzip的方式进行压缩或解压,一般格式为*.tar.gz
j 通过bzip2的方式进行压缩或解压缩,一般格式为*tar,bz2
v 归档或解包过程中显示被打包的的文件
C 这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数
f 输出结果到文件,该选项必须有且必须放在所有选项最后面,如果f后面跟其他选项,会误将后面的选项作为文件名

其他选项

- -exclude=被排除的文件名(要有路径) 在打包的过程中,除了要排除的文件,将其他文件进行打包

语法示例 tar czvf new.tar.gz --exclude=1/31 1
意思就是说 通过gzip的打包方式,打包过程中显示打包的文件,新的打包文件名为 new.tar.gz 要打包的目录是 1 目录,要排除的文件为1目录中的名字叫做31的文件。

我们来举几个例子:
1、将“压缩”文件夹中的两个目录和四个文件进行打包:tar czvf dabao.tar.gz fileA fileB fileC fileD 1 2

2、查看dabao.tar.gz中的文件都有哪些:tar tf dabao.tar.gz

当显示目录的时候,它会显示出路径分隔符/。

3、解开dabao.tar.gz中的文件到指定路径。
我们在根下创建一个新文件夹起名“压缩2”然后将dabao.tar.gz这个文件解压到“压缩2”文件夹中。使用命令
tar xf dabao.tar.gz -C /root/压缩2

注意:我们在添加选项的时候,没有j或g的选项是可以的,解压缩的过程中它会自动去识别调用的。

4、我们在“压缩”文件夹中创建目录1并写入4个文件(31、32、41、42)然后我们返回上一级目录,对1目录进行打包操作,并将1目录中名为31的文件进行排除打包操作。

本节所要用到的Linux命令总结:

压缩 注释
gzip 文件名 对文件进行压缩后原文件被删除
gzip -c 文件名A > 文件名B.gz 创建一个新的压缩文件B,原文件A不会被删除
zcat 文件名.gz 或 bzcat 文件名.bz2 查看压缩文件所压缩的文件都有哪些
解压缩
gzip -d 文件名.gz 将文件解压缩(原文件不保留)
gunzip 文件名.gz 将文件解压缩(原文件不保留)
gunzip -c 文件名A.gz > 文件名B.gz 将A文件解压缩命名为B,并且不会删除A文件
打包
tar czvf new.tar.gz --exclude=1/31 1 通过gzip的打包方式,打包过程中显示打包的文件,新的打包文件名为 new.tar.gz 要打包的目录是 1 目录,要排除的文件为1目录中的名字叫做31的文件
tar czvf dabao.tar.gz 文件A 目录B 将文件A和目录B进行打包,打包后的名字为daobao.tar.gz
tar tf dabao.tar.gz 查看打包文件所包含的文件有哪些。
tar xf dabao.tar.gz -C /root/压缩2 将dabao.tar.gz解压到指定目录

好了,本文到此就结束了,欢迎大家在评论区发言,指正错误,提出宝贵的建议谢谢!

Linux下文件的压缩、解压缩、打包以及提取相关推荐

  1. linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...

    在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...

  2. Linux下文件的压缩与解压缩

    Linux下文件的压缩与解压缩与Windows环境下有较大的区别,在Windows下只需要安装类似Winrar工具就能解压缩大部分文件,而在Linux命令行下每一种文件都有不同的压缩和解压缩方法. 使 ...

  3. linux下文件的压缩和解压缩

    linux下文件的压缩和解压缩 目录 1.压缩 2.解压缩 3.归档工具 一. 压缩 compress: -d:解压缩,相当于uncompres-c:结果输出至标准输出,不删除原文件-v:显示详情 - ...

  4. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解

    <tar解压缩命令 Linux下的tar压缩解压缩命令详解>由会员分享,可在线阅读,更多相关<tar解压缩命令 Linux下的tar压缩解压缩命令详解(14页珍藏版)>请在人人 ...

  5. linux 备份并压缩文件,Linux下文件的压缩和备份.doc

    Linux下文件的压缩和备份 Linux下文件的压缩和备份文/ heiyeluren 文件的备份和压缩是管理员遇到的首要问题,我刚学Linux,总结一下书上和网络上的方法.(本文章基于Redhat9) ...

  6. linux下的tar压缩解压缩命令详解,Linux下的tar压缩解压缩命令详解

    linux下tar gz bz2 tgz z等众多压缩文件的压缩与解压方法,需要的朋友可以参考下 Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命 ...

  7. Linux下的tar压缩解压缩命令使用

    文章目录 查看帮助文档 tar.rar.zip压缩解压实例 tar压缩解压实例 rar压缩解压实例 zip压缩解压实例 tar常用参数 总结 项目问题记录---tar解压失败 .lzme包 LZMA压 ...

  8. linux压缩命令 实例子,Linux下的tar压缩解压缩命令详解及使用实例分析

    格式:tar zcvf 压缩后的路径及包名 你要压缩的文件 z:gzip压缩 c:创建压缩包 v:显示打包压缩解压过程 f:接着压缩 t:查看压缩包内容 x:解压 X:指定文件列表形式排除不需要打包压 ...

  9. Linux下文件的压缩和解压

    文件的压缩和解压 Gzip格式的:    tar   -czvf    要存的名字.tar.gz     要打包的东西或目录 bzip2格式的:    tar   -cjvf 要存的名字.tar.bz ...

最新文章

  1. ABAP从数据库中删除行
  2. 微前端之single-spa
  3. ajax返回数据报406,ajax – 406返回JSON对象时出错 – 意外内容
  4. 为了释放AI在边缘计算的力量 英特尔又出手了
  5. OpenWrt [mktplinkfw] *** error: images are too big
  6. php 面向对象问题,PHP 面向对象开发的一些问题
  7. thinkphp5连接数据库mysql_ThinkPHP学习(三)配置PHP5支持MySQL,连接MySQL数据库
  8. Python入门--二重循环中的continue和break
  9. Oracle Decode()函数和CASE语句的比较
  10. 数组题 倒置 加到字符串
  11. java 字符串string、int和arraylist互转
  12. NYOJ题目1057-寻找最大数(三)
  13. Kafka Simple Consumer
  14. 谷歌云盘Colab使用心得
  15. 关于元器件选型需要注意的问题
  16. 教你如何免费下载中国知网、万方学术论文?这份资源请收好!
  17. matlab 四面体体积
  18. 最实用的Mysql安全加固手册
  19. Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels
  20. Excel批量插入多个空行-VBA实现

热门文章

  1. Mapreduce统计
  2. linux系统的7种banding方式
  3. python实现汇率转换
  4. 解决Duo13内置博通蓝牙和博通Wifi冲突
  5. 关于AndroidStudio3.0以上(3.2bate)创建.9patch图片出错的问题
  6. SEO文章配图自动生成工具软件
  7. 移动应用/APP的测试流程及方法
  8. NOIP2014 Day1T1生活大爆炸版石头剪刀布 模拟
  9. 用python画一个蜡笔小新
  10. ESP32 C3 使用ConfigWiFi配网