IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux系统压缩打包 一. 文件归档与压缩 二. gzip打包与压缩 (压缩工具)三. zip打包与压缩 四. tar打包与压缩 -> 正文阅读

[系统运维]Linux系统压缩打包 一. 文件归档与压缩 二. gzip打包与压缩 (压缩工具)三. zip打包与压缩 四. tar打包与压缩

  • 1.文件归档与压缩
  • 1)什么是文件归档
  • 将多个文件或目录合并成为一个特殊的文件
  • 压缩是压缩单个文件 归档压缩是压缩多个文件(可以压缩/etc目录下所包含的所有文件) 归档压缩是压缩加普通归档
  • 2)为什么要对文件进行压缩?
    • 当我们在传输大量的文件时,通常都会选择将该文件进行压缩,然后再进行传输。
    • 首先:压缩后的文件会比压缩前的文件小。一个28G的文件夹压缩后能达到6G
    • 其次:多个文件传输很慢,但单个文件传输会很快,同时还能节省网络的消耗
  • 3)Windows的压缩包与Linux的压缩包能否互通?
    • 在windows系统下,我们接触最多的压缩格式是 rar 或 zip ,但在Linux上使用最多的压缩格式是 zip 和tar.gz 。当然不用担心,Linux上的压缩格式放在windows系统下都是可以正常打开的。
  • PS: Linux不支持 Windows下的 RAR 格式的压缩文件。Windows和Linux互通通常选择 zip
  • 4)Linux下压缩包有哪些常见的类型
    • 格式 压缩工具
    • .zip zip压缩归档工具
    • .gz gzip压缩工具,只能压缩文件,会删除原文件
    • .bz2 bzip2压缩工具,只能压缩文件,会删除原文件
    • .tar.gz tar归档结合gzip压缩工具
    • .tar.bz2 tar归档结合bzip2压缩工具
  • 2.压缩工具(gzip bzip2)
  • 下载压缩工具
  • yum install -y gzip
  • yum install -y bzip2
  • 案例
  • 1 ).创建两个10M的文件
  • dd if=/dev/zero of=10M-1 count=1
  • dd if=/dev/zero of=10M-2 count=1
  • 3).压缩文件
  • 使用gzip 10M-1压缩文件
  • gzip 10M-1
  • gzip 10M-2
  • ll -lh 10M* = 查看当前目录下有10M前缀的文件
  • -rw-r--r--. 1 root root 32 9月 7 15:42 10M-1.gz
  • -rw-r--r--. 1 root root 32 9月 7 15:43 10M-2.gz
  • 压缩文件后,源文件消失,只有压缩后的文件,压缩后的文件名为10M-1.gz
  • 使用bzip2 10M-1 压缩文件
  • [root@localhost ~]# bzip2 10M-1
  • [root@localhost ~]# bzip2 10M-2
  • [root@localhost ~]# ll -lh 10M*
  • -rw-r--r--. 1 root root 41 9月 7 15:42 10M-1.bz2
  • -rw-r--r--. 1 root root 41 9月 7 15:43 10M-2.bz2
  • 4).解压缩
  • [root@localhost ~]# gzip -d 10M-2.gz
  • [root@localhost ~]# gzip -d 10M-1.gz
  • [root@localhost ~]# ll -lh 10M*
  • -rw-r--r--. 1 root root 512 9月 7 15:42 10M-1
  • -rw-r--r--. 1 root root 512 9月 7 15:43 10M-2
  • 解压缩文件后,压缩文件消失,只有源文件,解压缩后的文件名为10M-1
  • 总结
  • 1)两个压缩文件工具 gzip 10M-1与bzip2 10M-1,用法一致
  • 2)源文件和压缩文件不能共存
  • 3)都不能对目录压缩
  • 4)目前基本只会使用gzip 10M-1
  • 3.zip (压缩归档工具)
  • 使用zip命令可以对文件进行压缩打包,解压则需要使用unzip命令
  • 默认情况下没有zip和unzip工具,需要进行安装
  • yum install -y zip
  • 下载yum install -y unzip (解压)
  • zip 语法
    • zip [参数] [压缩包名][压缩的目录或者文件的路径]
  • zip命令的常见参数
  • m 将文件压缩后,删除原文件
  • o 将压缩文件内的所有文件的最新变动时间设为压缩的时间
  • q 在压缩的时候不显示指令执行的过程
  • r 递归压缩,将自定目录下的所有子文件以及文件一起处理
  • x 文件列表,压缩时排除文件列表中的文件
  • t (日期) 指定压缩文件的日期
  • T 显示信息
  • l(L) 显示版权信息
  • 案例
  • 1.压缩文件为zip包
  • [root@localhost ~]# touch file 创建文件
  • [root@localhost ~]# zip file.zip file 把文件压缩为zip包
    • adding: file (stored 0%)
  • ll -h file*

  • 2.压缩目录为zip包
  • [root@localhost ~]# mkdir -p dir/1/2/3 创建目录
  • [root@localhost ~]# zip -r dir.zip dir/ 压缩目录为zip包
    • adding: dir/ (stored 0%)
    • adding: dir/1/ (stored 0%)
    • adding: dir/1/2/ (stored 0%)
    • adding: dir/1/2/3/ (stored 0%)
  • 3.查看zip压缩包是否是完整的
  • [root@localhost ~]# zip -T file.zip
    • test of file.zip OK
  • 4.不解压压缩文件,直接查看压缩包的内容
  • unzip -l file.zip
  • unzip -t file.zip
  • 5.解压zip文件包,默认解压至当前目录
  • unzip file.zip
  • 6.解压zip内容至/opt目录
  • [root@localhost ~]# unzip file.zip -d /opt/ 解压zip内容至/opt目录
    • Archive: file.zip
    • extracting: /opt/file
  • [root@localhost ~]# ls /opt 进入/opt目录
  • file
  • 总结:比较三种压缩工具的压缩性能和效率
  • 1.创建三个100M的测试文件
    • dd </dev/zero >100M_1 bs=10M count=10
    • dd </dev/zero >100M_2 bs=10M count=10
    • dd </dev/zero >100M_3 bs=10M count=10
  • 2.分别使用gzip、bzip2、zip对三个文件压缩,观察压缩文件大小
    • gzip 100M_1
    • bzip2 100M_2
    • zip 100M.zip 100M_3
    • ls -lh 100M*
  • 1.gzip:是公认的压缩这速度最快,压缩大文件的时候与其他的压缩方式相比更加明显,历史最久,应用最广泛的压缩方式
  • 2.bzip:压缩形成的文件小,但是可用性不如gzip
  • 3.xz:是最新的压缩方式,可以自动提供最佳的压缩率
  • 3.tar 支持文件和目录的归档,本事不具备压缩能力。 归档工具需要结合gzip和bzip2实现压缩归档
  • 用法:tar + 选项+ 压缩成文件的名称.tar.gz+源文件名称
  • 语法:tar
  • tar [选项] 归档文件 被归档的文件或目录
  • 语法:tar [-zjxcvfpP] filename
  • c #创建新的归档文件
  • x #对归档文件解包
  • t #列出归档文件里的文件列表
  • v #输出命令的归档或解包的过程 (详细过程)
  • f #指定包文件名,多参数f写最后
  • z #使用gzip压缩归档后的文件(.tar.gz)
  • j #使用bzip2压缩归档后的文件(.tar.bz2)
  • J #使用xz压缩归档后的文件(tar.xz)
  • C # 指定解压目录位置 (释放指定路径)
  • X #排除多个文件(写入需要排除的文件名称) (开启排除列表文件)
  • h #打包软链接
  • --hard-dereference #打包硬链接
  • --exclude #在打包的时候写入需要排除文件或目录
  • 普通归档.tar 压缩归档 tar.gz 压缩归档 tar.bz2
  • 创建归档文件 cf czf cjf
  • 查看归档文件 tf cjf tf
  • 释放归档文件 xf xjf xf
  • 在centos7版本中对查看和释放做了优化,统一了选项
  • 实例
  • 1.压缩归档 10m-1 和10m-2两个文件
  • 普通归档
    • tar cf 10M-{1,2}
  • 压缩归档
    • tar czf 10M-{1,2}
    • tar cjf 10M-{1,2}
  • 2.查看归档文件
  • 普通归档
    • tar tf 10M-{1,2}
  • 压缩归档
    • tar czf 10M-{1,2}
    • tar cjf 10M-{1,2}
  • 3.解压到当前路径
  • tar xf 10M.tar.gz
  • tar xf 10M.tar
  • 4.解压到指定路径/opt
  • tar xf 10M.tar.gz -C /opt
  • tar xf 10M.tar -C /opt
  • 5.对/etc/目录创建归档,排除/etc/hosts /etc/resolv.config tar czf etc.tar.gz --exlcude=/etc/hosts --exlcude=/ect/resolv.conf /etc
  • 注意:
    • 1.排除文件有几个--exlcude就要写几个
    • 2.如果排除文件过多建议使用排除列表文件来定义,需要使用X选项
  • 1) 创建列表文件,将需要排除列表文件路径写入该文件,以行为为单位
    • cat > exclude_list <<EOF
    • /etc/hosts
    • /etc/resolv.config
    • EOF
  • 2)创建归档
    • tar czf etc.tar.gz exlcude_list/etc
  • 企业归档实例
  • 归档时的文件路径问题
  • 需要将/etc/sysconfig/network-scripts/ifcfg-ens33创建压缩归档到/backup目录中mkdir -p /backup
  • 方法一
    • 创建
    • tar czf /backup/ens33.tar.gz /etc/sysconfig/network-scripts/ifcfg-ens33
    • 查看
    • tar cjf /backup/ens33.tar.gz /etc/sysconfig/network-scripts/ifcfg-ens33
    • 解压
    • tar xf /backup/ens33.tar.gz -C /
  • 方法二
    • 创建
    • cd /etc/sysconfig/network-scripts
    • tar czf /backup/ens33-1.tar.gz ifcfg-ens33
    • 查看
    • tar tf /backup/ens33-1.tar.gz
    • ifcfg-ens33
    • 解压
    • tar xf /backup/ens33-1.tar.gz -C /etc/sysconfig/network-scripts/
  • 注意:
  • 1.在归档时,使用绝对路径的时候,会出现"tar: Removing leading `/' from member names",这是提
  • 示信息,提示将绝对路径的/删除,方便后面解压缩(释放),如果不想弹出该信息,有两种方法:
  • 1)可以使用&> /dev/null
  • 2)创建归档时,进入/目录,使用相对路径来归档
  • cd /
  • tar czf /backup/ens33.tar.gz etc/sysconfig/network-scripts/ifcfg-ens33
  • 2.建议在归档时,根据情况选择路径
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:56:34  更:2022-09-13 11:57:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:25:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计