大数据讲课笔记1.6 压缩与打包

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据讲课笔记1.6 压缩与打包相关的知识,希望对你有一定的参考价值。

文章目录

零、学习目标

  1. 了解打包与压缩概念
  2. 使用gzip命令进行压缩与解压文件
  3. 使用tar命令对目录进行打包和解压

一、导入新课

  • 在 Linux 中,学会对文件或目录进行打包(归档)和压缩,是每个初学者的基本技能。打包指的是将多个文件和目录集中存储在一个文件中;而压缩则指的是利用算法对文件进行处理,从而达到缩减占用磁盘空间的目的。

二、新课讲解

(一)压缩与打包

1、压缩

  • 压缩是指通过某些算法,将文件尺寸进行相应的缩小,然而同时又不损失文件的内容。常见的压缩命令有compress、gzip、bz2、zip。

2、打包

  • 指将多个文件(或目录)合并成一个文件,方便在不同节点之间传递或在服务器集群上部署。tar是常用的打包命令。

3、压缩或打包文件常见扩展名

  • *.tar, *.tar.gz, *.gz, *.bz2, *.Z;Linux系统一般文件的扩展名用途不大,但是压缩或打包文件的扩展名时必须的,因为Linux支持的压缩命令较多,不同的压缩技术使用的压缩算法区别较大,根据扩展名能够使用对应的解压算法。

(二)gzip命令

1、命令作用

  • 压缩文件有两个好处,一可减少存储空间,二可减少网络传输时间。
  • gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的 命令,既方便又好用。

2、选项参数

参数作用
-c(compress)将压缩的数据输出到标准输出(stdout)上
-d(decompress)解压缩
-t(test)可以用来检验一个压缩文件的一致性,看看文件有无错误
-v(verbose)可以显示出原文件/压缩文件的压缩比等信息
-(1,2,…,9)压缩等级,1最快,但是压缩比最差;9最慢,但是压缩比最好,默认是6。
-l(list)查看压缩文件的压缩比:gzip -l *.gz

3、实战练习

任务1、压缩文件

  • /tmp目录里创建part1目录
  • /root目录里的anaconda-ks.cfg拷贝到/tmp/part1目录
  • 进入/tmp/part1目录,压缩文件,显示压缩比信息
  • 压缩之后,原文件删除,只有压缩文件

任务2、解压文件

  • 解压缩之后,压缩文件删除,生成原文件
  • 默认压缩比参数是6

(三)tar命令

1、命令作用

  • tar命令可以为Linux的文件和目录创建归档。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。利用tar命令,可以把一大堆文件和目录全部打包成一个文件,这对于备份文件或者将几个文件组合成一个文件以便于网络传输。

2、选项参数

参数作用
-c(create)建立打包文件
-t查看打包文件的内容含有哪些文件
-x解打包或解压缩的功能,可以搭配-C(大写)在特定目录解开
-j通过bzip2的支持进行压缩/解压缩,此时文件最好为*.tar.bz2
-z通过gzip的支持进行压缩/解压缩,此时文件最好为*.tar.gz
-v在压缩/解压缩的过程中,将正在处理的文件名显示出来
-f(filename)-f 后面跟处理后文件的全名称(路径+文件名+后缀名)
-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
-p保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
–exclude=FILE在压缩的过程中,不要将那些文件打包
  • 注意:-c、-t、-x不可同时出现在一串指令列中。

3、实战练习

任务1、生成打包文件

  • 清空/tmp/part1目录
  • 将/etc目录拷贝到/tmp/part1目录里
  • 将etc目录打包压缩成gz格式,要求显示压缩详情,执行命令:tar -czvf etc.tar.gz etc
  • 查看生成的打包文件(原目录依然存在)

任务2、将打包文件解压到当前目录

  • 先删除etc目录
  • 解压缩etc.tar.gz到当前目录,执行命令:tar -xzvf etc.tar.gz
  • 查看当前目录,打包文件和解压之后的目录都存在
  • 查看etc目录树

任务3、将打包文件解压缩到指定目录

  • 执行命令:tar -xzvf etc.tar.gz -C /home,将打包文件解压到/home目录
  • 查看/home/etc目录树

任务4、解压打包文件里某个目录

  • 删除etc目录
  • 仅仅解压缩etc.tar.gz里的某个目录,例如etc/udev,执行命令:tar -xzvf etc.tar.gz etc/udev
  • 查看解压的etc目录树

三、归纳总结

  • 回顾本节课所讲的内容,并通过提问的方式引导学生解答问题并给予指导。

四、上机操作

  • 形式:单独完成
  • 题目:进行压缩和打包
  • 要求:按照讲课笔记完成

课堂练习1

  • 在/tmp文件夹下创建/part1/gzip
  • 将/root/anaconda-ks.cfg文件拷贝到/tmp/part1/gzip
  • 将拷贝后的文件进行gzip压缩,并显示压缩信息。
  • 将压缩后文件的名称改为mygzip01.gz
  • 解压缩mygzip01.gz文件

课堂练习2

  • 在/etc/home目录里创建test目录
  • 在test目录里利用vim创建三个文件test1.txt、test2.txt与test3.txt
  • 利用tar命令将test目录打包成test.tar.gz

以上是关于大数据讲课笔记1.6 压缩与打包的主要内容,如果未能解决你的问题,请参考以下文章

2022年大数据基础讲课笔记

2022年大数据基础讲课笔记

大数据讲课笔记3.2 Hadoop部署模式

linux笔记-020-zip压缩工具,tar打包和打包并压缩

大数据讲课笔记1.3 Linux目录操作

大数据讲课笔记1.2 Linux用户操作