热门标签 | 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

推荐阅读
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 如何在Linux系统中实现Windows风格的桌面环境:将Ubuntu 18.04定制为Windows主题界面
    如果您是从Windows转到Linux系统的用户,可能会觉得默认的Ubuntu主题和桌面环境缺乏吸引力和可定制性。尤其是对于习惯了Windows风格的任务栏和主题的用户,Ubuntu 18.04的橙色主题可能显得过于简洁。为了提升用户体验,可以通过安装特定的桌面环境和主题来实现类似Windows的界面效果。本文将详细介绍如何在Ubuntu 18.04中配置和定制桌面环境,使其具备Windows风格的外观和功能。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 在Ubuntu 20.04 Linux系统中部署Git的详细步骤与最佳实践
    在Ubuntu 20.04 Linux系统中部署Git时,首先确保您的操作系统版本正确,并已以具备sudo权限的用户身份登录。推荐使用APT软件包管理器进行安装,这是最简便且可靠的方法。此外,遵循最佳实践,如定期更新Git版本和配置全局设置,可以进一步提升使用体验和安全性。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
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社区 版权所有