Linux(6):文件与文件系统的压缩,打包与备份

压缩文件的用途与技术

由于 1 byte = 8 bits ,所以每个byte当中会有8个空格,而每个空格可以是0,1

其实文件里面有相当多的『空间』存在,并不是完全填满的,而『压缩』的技术就是将这些『空间』填满,以让整个文件占用的容量下降。
『压缩过的文件]并无法直接被操作系统所使用的,因此,若要使用这些被压缩过的文件数据,则必须解压缩』将他『还原』回来未压缩前的模样。

压缩比等于压缩后与压缩的文件所占用的磁盘空间大小的比值。

Linux 系统常见的压缩指令

常见的几个压缩拓展名:
在这里插入图片描述

gzip,zcat/zmore/zless/zgrep

gzip 可以解开:compress,zip 与 gzip 等软件所压缩的文件。gzip 所建立的压缩文件为 *.gz。

gzip [-cdtc#] 档名

在这里插入图片描述可以使用 zcat 读取压缩文件

zcat 档名

cat/more/less 可以使用不同的方式来读取纯文本档;
zcat/zmore/zless 则可以对应于 cat/more/less 的方式来读取纯文本档被压缩后的压缩文件;
由于 gzip这个压缩指令主要想要用来取代compress 的,所以不但 compress 的压缩文件案可以使用gzip 来解开,同时 zcat这个指令可以同时读取compress 与gzip 的压缩文件。
egrep可以用来搜寻关键词:从文字压缩文件当中找数据

bzip2,bzcat/bzmore/bzless/bzgrep

bzip2 [-cdkzv#] 档名
bzcat 档名.bz2

在这里插入图片描述
bzip2 压缩时间比 gzip 久,压缩率高。

xz,xzcat/xzmore/xzless/xzgrep

xz [-dtlkc#] 档名
xcat 档名.xz

在这里插入图片描述
它可以将 gzip压缩比的21% 进一步优化到 15%。时间久。。。。

打包指令:tar

打包与压缩:

tar [-zl-jl-I] [cv] [-f 待建立的新档名] filename...

查看档名:

tar [-zl-jl-I] [tv] [-f 已有档名]

解压缩:

tar [-zl-jl-I] [xv] [-f 已有档名] [-C 目录]

在这里插入图片描述
仅解开单一文件:使用 -jtv 找到要的档名,将该档名解开

tar -jtv -f /root/etc.tar.bz2|gep '要的文档名'
## 找到后,解开
tar -jxv -f 压缩包.tar.baz2 待解开的文档名

打包某目录,但不含某些文件:使用 --exclude

tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc*

仅备份比某个时刻新的文件:使用 --newer-mtime

tar -jcv -f /root/etc.newer.then.paswd.tar.bz2 --newer-mtime="2015/06/17" /etc/*

tar 打包出来的文件有没有进行压缩所得到文件称呼不同:
如果仅是打包而已,就是[tar -cv -f file.tar]而已,这个文件我们称呼为 tarfile
如果还有进行压缩的支持,例如[tar-jcv -f file.tar.bz2]时,称呼为 tarball

在 tar 的使用中,有一种方式最特殊,那就是透过标准输入输出的数据流重导向(standard input/standard output),以及管线命令(pipe)的方式,将待处理的文件一边打包一边解压缩到目标目录去。

tar -cvf - /etc | tar -xvf -
#这个动作有点像是cp -r /etc /tmp
#要注意的地方在于输出档变成-而输入档也变成-,又有一个Ⅰ存在~
#一这分别代表standard output , standard input与管线命令
#简单的想法中,可以将 – 想成是在内存中的一个装置(缓冲区)。

XFS 文件系统的备份与还原

xfsdump 除了可以进行文件系统的完整备份外,还可以进行累积备份。
累积备份:在第一次使用xfsdump进行完整备份后,等过一段时间的文件系统自然运作后,再进行第二次xfsdump时,就可以选择累积备份了,此时新备份的数据只会记录与第一次完整备份所有差异的文件。
第一份备份一定是完整备份,完整备份在 xfsdump 当中被定义为 level 0。第二次备份时,被定义为 level1,比较过后,备份有变化的文件。。。

xfsdump 限制:
1.xfsdump 不支援没有挂载的文件系统备份,所以只能备份已挂载的;
2.xfsdump 必须使用root的权限才能操作(涉及文件系统的关系);
3.xfsdump 只能备份XFS 文件系统;
4.xfsdump 备份下来的数据文件或储存媒体)只能让 xfsrestore 解析
5.xfsdump 是透过文件系统的UUID来分辨各个备份档的,因此不能备份两个具有相同UUID 的文件系统

xfsdump [-L S_label] [-M M_label] [-1 #] [-f 备份档] 待备份资料

在这里插入图片描述
特别注意,xfsdump 预设仅支持文件系统的备份,并不支持特定目录的备份
所以不能用 xfsdump去 备份/etc,因为 /etc 从来就不是一个独立的文件系统。

xfsrestore文件系统还原

xfsrestore -I
xfsrestore [-f 备份档] [-L S_label] [-s] 待复原目录
xfsrestore [-f 备份文件] -r 待复原目录
xfsrestore [-f 备份文件] -i 待复原目录

在这里插入图片描述

光盘写入工具

文本模式的刻录行为:
1.先将所需要备份的数据建置成为一个映像档(iso),利用 mkisofs 指令来处理;
2.将该映像文件刻录至光盘或 DVD 当中,利用 cdrecord 指令来处理。

mkisofs:建立映像档

mkisofs [-o 映像档] [-Jrv] [-V vol] [-m file] 待备份文件... -graft-point isodir=systemdir ...

在这里插入图片描述
光盘的格式一般称为 iso9660,这种格式一般仅支持旧版的 DOS 档名,亦即档名只能以8.3(文件名8个字符,扩展名3个字符)的方式存在。
如果加上 -r 的选项之后,那么文件信息能够被记录的比较完整,可包括 UID/GID 与权限等等。

一般预设的情况下,所有要被加到映像档中的文件都会被放置到映象文件中的根目录,如此一来可能会造成刻录后的文件分类不易的情况。所以,可以使用-graft-point这个选项,当你使用这个选项之后,可以定义位于映像文件中的目录。

可透过wodim来写入CD或DVD 刻录机

其他常见的压缩与备份工具

dd

dd 可以读取磁盘装置的内容(几乎是直接读取扇区"sector"),然后将整个装置备份成一个文件。

dd if="input_file" of="output_file" bs="block size" count="number"

在这里插入图片描述

默认 dd 是一个一个扇区去读/写的,而且即使没有用到的扇区也会倍写入备份档中。因此这个文件会变得跟原本的磁盘一模一样大。

dd 可备份完整的 partition 或 disk ,因为 dd 可读取磁盘的 sector 表面数据。

cpio

cpio 可以备份任何东西,包括装置设备文件

cpio -ovcB > [file|device] <=备份
cpio -ivcdu < [file|device] <=还原
cpio -ivct < [file|device] <=察看

在这里插入图片描述

cipo 必须要搭配类似 find 指令来读入欲备份的文件名数据

《鸟哥的Linux私房菜-基础篇》学习笔记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/183916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Proteus仿真】【51单片机】智能垃圾桶设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用报警模块、LCD1602液晶模块、按键模块、人体红外传感器、HCSR04超声波、有害气体传感器、SG90舵机等。 主要功能&#xff1a; 系统运行后&#xf…

Adobe的组织工具程序Bridge 2024 版本下载与安装

目录 前言一、Bridge 2024安装二、使用配置总结 前言 Adobe Bridge是由 Adobe 公司开发的一款用于管理和组织创意资产的工具。它是Adobe Creative Cloud 套件的一部分&#xff0c;为设计师、摄影师和其他创意专业人员提供了一个集中管理和浏览其多媒体文件的平台。注&#xff…

ES6 — ES14 新特性

一、ES6 新特性&#xff08;2015&#xff09; 1. let和const 在ES6中&#xff0c;新增了let和const关键字&#xff0c;其中 let 主要用来声明变量&#xff0c;而 const 通常用来声明常量。let、const相对于var关键字有以下特点&#xff1a; 特性varletconst变量提升✔️全局…

人工智能:让生活更便捷、更智能——探讨人工智能在生活中的作用与挑战

文章目录 前言人工智能的定义与分类人工智能的领域一、智能语音助手改变日常生活二、智能驾驶带来出行革命三、人工智能在医疗健康领域的应用四、教育领域的人工智能创新 人工智能的应用生活方面的影响工作方面的影响 应对AI带来的挑战后记 前言 人工智能相关的领域&#xff0…

1、分布式锁实现原理与最佳实践(一)

在单体的应用开发场景中涉及并发同步时&#xff0c;大家往往采用Synchronized&#xff08;同步&#xff09;或同一个JVM内Lock机制来解决多线程间的同步问题。而在分布式集群工作的开发场景中&#xff0c;就需要一种更加高级的锁机制来处理跨机器的进程之间的数据同步问题&…

Comsol Multiphysics 6.2 for Mac建模仿真软件

COMSOL Multiphysics是一款多物理场仿真软件&#xff0c;旨在帮助工程师、科学家和研究人员解决各种复杂的工程和科学问题。该软件使用有限元分析方法&#xff0c;可以模拟和分析多个物理场的相互作用&#xff0c;包括结构力学、热传导、电磁场、流体力学和化学反应等。 COMSOL…

OpenStack云计算平台-认证服务

目录 一、认证服务概览 二、安装和配置 1、先决条件 2、安全并配置组件 3、 配置 Apache HTTP 服务器 4、完成安装 三、创建服务实体和API端点 1、先决条件 2、创建服务实体和API端点 四、创建域、项目、用户和角色 五、验证操作 六、创建 OpenStack 客户端环境脚本…

文章解读与仿真程序复现思路——电网技术 EI\CSCD\北大核心《考虑5G基站储能可调度容量的有源配电网协同优化调度方法》

这篇文章的标题涉及到以下关键概念&#xff1a; 5G基站&#xff1a; 提到了5G基站&#xff0c;这表明文章的焦点可能是与第五代移动通信技术相关的内容。5G技术对于提高通信速度、降低延迟以及支持大规模连接等方面有显著的改进&#xff0c;因此对于基站的电力需求和供应可能存…

【范县城关镇社工站】“社工相伴,携爱同行”宣传活动

为向辖区居民宣传社工职能和服务&#xff0c;提高公众对社工的认知和认可&#xff0c;同时让更多的人了解社工服务的价值和意义。在范县民政局的支持下&#xff0c;城关镇民政所的指导下&#xff0c;2023年11月22日至23日&#xff0c;范县城关镇社工站于城关镇辖区开展了“社工…

【Spring集成MyBatis】动态sql

文章目录 1. 什么是动态sql2. 动态sql之<if>3. 动态sql之<where>4. 动态sql之<foreach>5. sql片段抽取 此篇的代码基于 【Spring集成MyBatis】MyBatis的Dao层实现&#xff08;基于配置&#xff0c;非注解开发&#xff09;续写 1. 什么是动态sql MyBatis映射…

OSG编程指南<十>:OSG几何体的绘制

1、场景基本绘图类 在 OSG 中创建几何体的方法比较简单&#xff0c;通常有 3 种处理几何体的手段&#xff1a; 使用松散封装的OpenGL 绘图基元&#xff1b;使用 OSG 中的基本几何体&#xff1b;从文件中导入场景模型。 使用松散封装的OpenGL 绘图基元绘制几何体具有很强的灵活…

Docker Swarm总结+service创建和部署、overlay网络以及Raft算法(2/3)

博主介绍&#xff1a;Java领域优质创作者,博客之星城市赛道TOP20、专注于前端流行技术框架、Java后端技术领域、项目实战运维以及GIS地理信息领域。 &#x1f345;文末获取源码下载地址&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb;…

在vscode中添加代码提示

添加配置 run->add_configuration 添加头文件路径 在c_cpp_properties.json中添加头文件路径 效果

PS 计数工具 基础使用方式讲解

上文PS 注释工具 基础使用方法讲解 中 我们讲了注释工具 解析来 我们来看这个计数工具 这里 我们换一张图像 如果 我要你数清楚 这个图上有几个咖啡豆 你能数清楚吗&#xff1f; 哈哈 其实也不难 不是特别大 但是 例如很多 且无规则物品时 我们可能就会数乱 左上角属性的话 我…

APP软件外包开发流程

外包APP软件项目的开发流程可以分为以下几个主要阶段&#xff0c;在整个流程中&#xff0c;沟通和合作是至关重要的&#xff0c;确保开发团队和客户之间有良好的沟通渠道&#xff0c;及时解决问题&#xff0c;保证项目按时交付。北京木奇移动技术有限公司&#xff0c;专业的软件…

时间敏感网络TSN的车载设计实践: 802.1Qbv协议

▎概述 IEEE 802.1Qbv[1]是TSN系列协议中备受关注的技术之一&#xff0c;如图1所示&#xff0c;它定义了一种时间感知整形器&#xff08;Time Aware Shaper&#xff0c;TAS&#xff09;&#xff0c;支持Qbv协议的交换机可以按照配置好的门控列表来打开/关闭交换机出口队列&…

前端编码技巧须知

前端开发中可能会使用到以下软件&#xff0c;它们各自具有不同的作用&#xff1a; 代码编辑器&#xff1a;例如Sublime Text、Atom、Visual Studio Code等&#xff0c;用于编写和编辑HTML、CSS和JavaScript等前端代码。网页浏览器&#xff1a;例如Chrome、Firefox、Safari等&a…

“关爱零距离.情暖老人心”主题活动

为提高社区老年人的生活质量&#xff0c;促进邻里间的互动与友谊&#xff0c;以及弘扬尊老爱幼的社区精神&#xff0c;11月21日山东省潍坊市金阳公益服务中心、重庆市潼南区同悦社会工作服务中心在潼南区桂林街道东风社区共同在潼南区桂林街道东风社区举办了“关爱零距离.情暖老…

EMG肌肉电信号处理合集(三)

本文主要展示常见的肌电信号预处理的实现&#xff0c;开发环境为matlab。 目录 1 肌电信号低通&#xff0c;高通&#xff0c;带通滤波 2 去除DC 0阶偏置&#xff0c;1阶偏置 3 全波整流 4 信号降采样 5 linear envolope / butterworth 低通滤波器 1 肌电信号低通&#xf…

【elementui】el-popover在列表里循环使用,取消的doClose无效解决办法

目录 一、需求效果二、代码详情html方法接口 一、需求效果 在使用elementui的Popover 弹出框时&#xff0c;需求是在table列表里使用&#xff0c;循环出来&#xff0c;无法取消。 二、代码详情 html <el-table-column v-if"checkPermission([admin,user:resetPass…