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私房菜-基础篇》学习笔记

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序商城实例mpvue-xbyjShop-master(附精选源码32套,涵盖商城团购等)

mpvue-xbyjShop 基于mpvue的微信小程序商城&#xff08;小程序端&#xff0c;服务端&#xff09; 小程序端 技术栈 mpvue mpvue-router-patch mpvue-entry vuex webpack ES6/7 flyio mpvue-wxparse 项目运行 微信开发中工具选中mpvue-xbyjShop/buyer作为项目目录即可功…

JavaScript的学习

HTML的学习-CSDN博客 从html的学习中 其实我已经用到了 JavaScript的脚本 &#xff08;GPT&#xff09; 例如 echo <script>alert("账号密码错误"); window.location"index.html";</script>; 弹窗 然后定位到 index.html 这里能够让我们更…

品牌线上窜货查的出来吗

如果窜货不治理会出现什么局面&#xff0c;显见的当然是渠道混乱&#xff0c;低价丛生&#xff0c;严重的还会导致真假混卖&#xff0c;最后所有的后果都会由品牌承担&#xff0c;口碑的影响是必然的&#xff0c;那品牌的衰败也会是一种趋势&#xff0c;所以治理窜货是品牌发展…

Windows | 模仿网易云任务栏实现自定义按钮及缩略图

前言 最近更新网易云发现任务栏按钮中除了播放相关的按钮&#xff0c;多了一个喜欢的按钮&#xff1a; 之前我一直以为网易云任务栏的按钮只是 Windows 为音乐软件专门提供的&#xff0c;于是我又看了一眼系统自带的播放器&#xff0c;发现并没有爱心按钮&#xff1a; 这时我就…

C在国内就业已经拉胯,ChatGPT告诉我的

文章目录 一、前言二、ChatGPT查到的数据三、数据亮点 1.C语言近3年数据大跌2.招聘数量每年都在剧增的是全栈工程师3.薪资涨幅最高的是全栈和网安 四、结语 一、前言 不仅前在微信群里搭建了一个ChatGPT 5.0做智能助手&#xff0c;让他来帮我回答群问题&#xff0c; 搭建好…

数十亿美元商机!英国数字基础设施公司Equinix与法国量子计算公司Alice Bob 合作

​&#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;全球数字基础设施公司Equinix宣布与全球领先的法国量子计算公司Alice & Bob合作&#xff0c;旨在共同开发市场上最为可靠的量子处理器之一。此次合作将使Equinix公司的客户通过使用Equinix Metal和Eq…

好的程序员有什么特质呢?

程序员想要提升自己&#xff0c;一定要关注到工作中的方方面面。而一个好的程序员&#xff0c;一般都有这些特质&#xff1a; 弱者抱怨环境&#xff0c;强者改变环境 不要试图通过抱怨环境来获得工作环境上的改变&#xff0c;这不仅不会给你带来任何实质性的改变&#xff0c;…

自定义字符-摄氏度汉字一

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

springboot+vue项目如何集成onlyoffice开源文档组件

一、onlyoffice是什么 ONLYOFFICE 是一个开源的办公套件&#xff0c;适合多人在线协作。由总部位于总部在拉脱维亚的 IT 公司Acensio System SIA 开发。它提供在线协作文档编辑器&#xff08;包括文档、电子表格、演示文稿和表单&#xff09;&#xff0c;适用于 Windows、Linu…

python tkinter使用(五)

python tkinter使用(五) 本篇文章讲述tkinter 中treeview的使用 Treeview是一个多列列表框&#xff0c;可以显示层次数据。 #!/usr/bin/python3 # -*- coding: UTF-8 -*- """Author: zhTime 2023/11/23 下午8:28 .Email:Describe: treeview 使用 "&quo…

Linux上自动挂载windows下的网络共享文件夹

比如我们想在ubuntu上挂载一个windows的共享文件夹&#xff0c;我们可以用如下方式实现。 首先我们将windows下的文件夹右键选择【属性】&#xff0c;然后选择【共享】。 选择需要共享的用户&#xff0c;然后设置权限级别。 点击共享&#xff0c;然后点击完成。 这样我们在wi…

Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例

网络爬虫是一种自动从互联网上获取数据的程序&#xff0c;它可以用于各种目的&#xff0c;如数据分析、信息检索、竞争情报等。网络爬虫的实现方式有很多&#xff0c;不同的编程语言和框架都有各自的优势和特点。在本文中&#xff0c;我将介绍一种使用Go语言和pholcus库的网络爬…

基于opencv+ImageAI+tensorflow的智能动漫人物识别系统——深度学习算法应用(含python、JS、模型源码)+数据集(一)

目录 前言总体设计系统整体结构图系统流程图 运行环境爬虫1.安装Anaconda2.安装Python3.63.更换pip源4.安装Python包5.下载phantomjs 模型训练1.安装依赖2.安装lmageAl 实际应用1.前端2.安装Flask3.安装Nginx 相关其它博客工程源代码下载其它资料下载 前言 本项目通过爬虫技术…

Word怎么看字数?简单教程分享!

“我在写文章时&#xff0c;总是想看看写了多少字。但是我发现我的Word无法看到字数。在Word中应该怎么查看字数呢&#xff1f;请帮帮我&#xff01;” Word是一个广泛使用的文档编辑工具。在我们编辑文章时&#xff0c;如果想查看写了多少字&#xff0c;也是可以轻松完成的。 …

leetcode:环形链表的入环点

题目描述 题目链接:力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目分析 我们假设起点到环的入口点的距离是L&#xff0c;入口点到相遇点的距离是X&#xff0c;环的长度是C 那么画图我们可以得知&#xff1a; 从开始到相遇时slow走的距离是LX从…

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

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

Ubuntu开机显示No bootable devices found

Ubuntu开机报错&#xff0c;显示显示No bootable devices found&#xff0c;如下图所示&#xff1a; 解决方案如下&#xff1a; 1. F2进入BIOS (1) 重启开启&#xff0c;按F2进入BIOS系统。 (2) 进入Boot Sequence&#xff0c;目前系统选择了UEFI&#xff0c;而Legacy选项为…

Android : AlertDialog对话框、单选、多选、适配器-简单应用

示例图&#xff1a; 1 &#xff1a;创建 AlertDialog.Builder 对象&#xff1b; 2 &#xff1a;调用 setIcon() 设置图标&#xff0c; setTitle() 或 setCustomTitle() 设置标题&#xff1b; 3 &#xff1a;设置对话框的内容&#xff1a; setMessage() 还有其他方法来指定显示…

【每日一题】2824. 统计和小于目标的下标对数目-2023.11.24

题目&#xff1a; 2824. 统计和小于目标的下标对数目 给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target &#xff0c;请你返回满足 0 < i < j < n 且 nums[i] nums[j] < target 的下标对 (i, j) 的数目。 示例 1&#xff1a; 输入&#xff1…

双12电视盒子什么牌子好?数码小编力荐目前最强的电视盒子

最近想买电视盒子的网友非常多&#xff0c;小编收到了很多关于电视盒子方面的咨询&#xff0c;因此我特意整理了今年测评过的电视盒子&#xff0c;总结了五款目前最强的电视盒子&#xff0c;想知道双十二买电视盒子什么牌子好就赶紧收藏起来吧。 推荐一&#xff1a;泰捷WEBOX新…