热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

文章目录零、学习目标一、导入新课二、新课讲解(一)压缩与打包1、压缩2、打包3、压缩或打包文件常见扩展名(二)gzip命令1


文章目录

  • 零、学习目标
  • 一、导入新课
  • 二、新课讲解
    • (一)压缩与打包
      • 1、压缩
      • 2、打包
      • 3、压缩或打包文件常见扩展名
    • (二)gzip命令
      • 1、命令作用
      • 2、选项参数
      • 3、实战练习
        • 任务1、压缩文件
        • 任务2、解压文件
    • (三)tar命令
      • 1、命令作用
      • 2、选项参数
      • 3、实战练习
        • 任务1、生成打包文件
        • 任务2、将打包文件解压到当前目录
        • 任务3、将打包文件解压缩到指定目录
        • 任务4、解压打包文件里某个目录
  • 三、归纳总结
  • 四、上机操作
    • 课堂练习1
    • 课堂练习2


零、学习目标


  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

推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
author-avatar
相依相伴一起慢慢变老
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有