当前位置: 首页 > news >正文

Linux系列 备份与分享文档

645540b7ffc7443f8d6878d3e83de5c6.gif

  • 作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

 

 前言

一.备份与分享文档

1.使用压缩和解压缩工具

 (1)gzip和 gunzip命令

(2) bzip2和 bunzip2命令

2.使用tar归档和释放工具

(1)制作归档备份文件

(2)从归档文件中恢复数据


 前言

本章将会讲解Linux备份与分享文档


一.备份与分享文档

在Linux操作系统中,最简单的文件和目录备份工具就是cp(复制)命令。

但是当需要备份的文件,目录数量较多时,仅仅使用cp命令就显得“力不从心”,并且备份的文件数量及其所占用的磁盘空间都可能会对服务器产生不小的压力,因此,有必要对需要备份的数据进行归档和压缩。

9384c954bbe5443ca4c5d3a4892b97a7.png

 这里所说的归档操作实际上相当于“打包”,即将许多个文件和目录合并保存为一个整体的包文件,以方便传递或携带。而压缩操作可以进一步降低打包后的归档文件所占用的磁盘空间,充分提高备份介质的利用率。

Linux操作系统中较常用的压缩命令工具包括gzip.bzip2.最常用的归档命令工具为tar,使用tar命令可以通过特定选项自动调用gzip或bzip2程序,以完成归档,压缩的整套流程,当然也可以完成解压、释放已归档文件的整套流程.

aafe695c58c94e43b6754ad13dc012ed.png


1.使用压缩和解压缩工具

gzip和bzip2是Linux操作系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压,两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说bzip2的压缩效率要好一些。

3e7a30aaf4804ac3b9245e55e2b7d1cc.png


 (1)gzip和 gunzip命令

使用gzip制作的压缩文件默认的扩展名为“.gz”,制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间,例如,以下操作将对当前目录下的rkfile文件进行压缩,生成压缩文件mkfile.gz(原始文件mkfile不再保留)压缩后的文件大小变为30KB(未压缩时为62KB).

[root@localhost -]# ls -lh mkfile*
-rwxr-xr-x.1 root root 62K May 4 01:32 mkfile[root@localhost -]# gzip mkfile
[root@localhost -]# ls -lh mkfile*
-rwxr-xr-x. 1 root root 30K May 4 01:32 nkflle.gz

fb21e79149b1461689740b085a6951eb.png

 

当需要解压缩经gp压缩的文件时,只需使用带‘-d”选项的gxp命令即可,或者直接使用gunzip命令

例如,若将压缩文件mkfile.p进行解压缩,可执行以下操作。

[root@localhost ~]# gzip -d mkfile.gz

或者

[root@localhost -]# gunzip mkfile.gz

(2) bzip2和 bunzip2命令

bzip2和burxip2命令的用法与gzip,gurzip命令基本相同,使用bxzip2制作的压缩文件默认的扩展名为“bx2”。

例如,以下操作将对当前目录下的mkfile文件以较高压缩比进行压缩,生成压缩文件mkfile.bz2(原始文件mkfile不再保留),缩后的文件大小变为30KB(未压缩时为62KB).

[root@localhoat -]# ls -lh mkfile*
-rwxr-xr-x. 1 root root 62K May 4 01:32 mkfile
[root@localhost -]# bzip2 -9 mkfile
[root@localhost -]# ls -lh mkfile*
-rwxr-xr-x. 1 root root 30K May 4 01:32 mkfile.bz2

14da14d5b9554f1b9ac7d95d928ba74c.png

 与gtip.gurzip命令相同,当需要解压缩经bzip2压缩的文件时,只需使用带“-d”选项的bzip2命令即可.或者直接使用buzip2命令,例如,若要将压缩文件mkfile.gx进行解压缩,可执行以下操作。

[root@localhost ~]# bzip2 -d mkfile.bz2

或者

[root@localhont -]# bunzip2 mkfile.bz2

2.使用tar归档和释放工具

tar命令主要用于对目录和文件进行归档,在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的g2p或bzip2命令),以节省磁盘空间。使用tar命令时,选项前的“-”号可以省略,常用的几个选项如下所述。

  • -c:创建(Greote).tar格式的包文件。
  • -C:解压时指定释放的目标文件夹。
  • -f:表示使用归档文件。
  • -j:调用bzip2程序进行压缩或解压。
  • -p:打包时保留文件及目录的权限。
  • -P:打包时保留文件及目录的绝对路径。
  • -t:列表查看包内的文件。
  • -v:输出详细信息(Vertbose)。
  • -x:解开,ter格式的包文件。
  • -2:调用g2ip程序进行压缩或解压。

(1)制作归档备份文件

制作归档及压缩包(备份)文件时,twr命令的基本格式如下:

tax [选项]....归档及压缩文件名 需要归档的源文件或目录

如果需要对制作的归档文件进行压缩:

可以通过“-z”或“-j”选项自动调用压缩工具(分别对应gp.bzip2命令程序)进行压缩。

例如,以下操作将会对/etc和/boot目录进行备份,在当前目录下生成名为sysfile.ter.g的归档压缩包,执行过程中可以看到被归档的文件列表信息,需要注意的是,在备份恢复目录或文件时,最好先将工作路径切换至目标目录或文件的所在路径,然后在执行备份命令时使用相对路径,以防输入命令时因手误而导致根目录“/”下重要文件损坏。

[root@localhost -]# cd /
[root@localhoat /]# tar zovf ayafile.tar.gz etc boot
etc/
etc/login.defa
etc/oron.hourly/
etc/fstab
//省略部分内容
[rootllocalhost /]# ls -lh sysfile.tar.gz
-rw-r--r--.1 root root 125M 4月 10 11146 syafile.tar.gz

若需要制作”ta.bz2?格式的归档压缩包,则将“-z”选项改为“-j”选项使用即可。

例如:
以下操作将会对/etc/pesswd./etc/shadow文件进行备份,在/tmp目录下生成名为usershoretar.bz2sny的旧档压缩包。

[root@localhost -]# cd /eto
(root@localhost etc)# tar jovf /tmp/usershome.tar.bz2 pasawd shadow
ete/pasavd
etc/shadow
[root@localhoat otc]# ls -lh /tmp/usershome.tar.bz2
-rw-r--r--.1 root root 2.2K 4月 1011:50/tmp/usershome.tar.bz2

(2)从归档文件中恢复数据

解压并释放(恢复)归档压缩包文件时,twr命令的基本格式如下:

tar [选项]...归档及压缩文件名 [-c目标目录]

类似地,当从“t8r.g2”格式的归档压缩包恢复数据时,需要结合“-z”选项来自动调用压缩工具.而对于”tar.bz2”格式的归档压缩包,对应的是“-j”选项,默认情况下,恢复的数据将释放到当前目录中、如果需要恢复到指定文件夹,还需要结合“-C”选项来指定目标目录。

例如,以下操作将从备份文件usershome.tar.bz2中恢复数据,释放到/etc目录下(将覆盖现有文件)。

[root@localhost -]# tar jxf /tmp/usershome.tar.bx2 -C /etc

在大部分的备份及恢复工作中,只使用ta命令就可以很好地结合gip.bzip2工具协同工作,无须再执行gip或bzip2命令。但是要注意这两个压缩工具的命令程序必须存在。


创作不易,求关注,点赞,收藏,谢谢~  

 

相关文章:

Linux系列 备份与分享文档

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.备份与分享文档 1.使用压缩和解压缩工具 (1&…...

SNI生效条件 - 补充nginx-host绕过实例复现中SNI绕过的先决条件

文章目录1.前置环境搭建2.测试SNI生效条件(时间)3. 证书对SNI的影响3.1 双方使用同一个证书:3.2 双方使用不同的证书与私钥4. 端口号区分测试4.1 端口号区分,证书区分:4.2 端口号区分,证书不区分:5.总结SNI运行机制6. SNI机制绕过…...

傻白探索Chiplet,Modular Routing Design for Chiplet-based Systems(十一)

阅读了Modular Routing Design for Chiplet-based Systems这篇论文,是关于多chiplet通信的,个人感觉核心贡献在于实现了 deadlock-freedom in multi-chiplet system,而不仅仅是考虑单个intra-chiplet的局部NoC可以通信,具体的一些…...

C语言静态库、动态库的封装和注意事项

1、动态库、静态库介绍 参考博客:《静态库和动态库介绍以及Makefile》; 2、代码目录结构和编译脚本 参考博客:《实际工作开发中C语言工程的目录结构分析》; 3、编写库的流程 (1)明确需求:需求是否合理、需求的使用场景、需求可能遇…...

MyBatis-Plus分页插件和MyBatisX插件

MyBatis-Plus分页插件和MyBatisX插件六、插件1、分页插件a>添加配置类b>测试八、代码生成器1、引入依赖2、快速生成十、MyBatisX插件1、新建spring boot工程a>引入依赖b>配置application.ymlc>连接MySQL数据库d>MybatisX逆向生成2、MyBatisX快速生成CRUD申明…...

年前无情被裁,面试大厂的这几个月…

2月份了,金三银四也即将来临,在这个招聘季,大厂也开始招人,但还是有很多人吐槽说投了很多简历,却迟迟没有回复… 另一面企业招人真的变得容易了吗?有企业HR吐槽,简历确实比以前多了好几倍&…...

基于Java的分片上传功能

起因:最近在工作中接到了一个大文件上传下载的需求,要求将文件上传到share盘中,下载的时候根据前端传的不同条件对单个或多个文件进行打包并设置目录下载。 一开始我想着就还是用老办法直接file.transferTo(newFile)就算是大文件&#xff0c…...

KDS安装步骤

KDS kinetis design studio 软件 第一步官网(https://www.nxp.com/ 注册账号下载set成功下载软件。 随着AI,大数据这些技术的快速发展,与此有关的知识也普及开来。如何在众多网站中寻找最有价值的信息,如何在最短的时间内获得最新的技…...

JavaSE-线程池(1)- 线程池概念

JavaSE-线程池(1)- 线程池概念 前提 使用多线程可以并发处理任务,提高程序执行效率。但同时创建和销毁线程会消耗操作系统资源,虽然java 使用线程的方式有多种,但是在实际使用过程中并不建议使用 new Thread 的方式手…...

开源代码的寿命为何只有1年?

说实话,如果古希腊的西西弗斯是一个在2016年编写开源代码的开发者,那他会有宾至如归的感觉。著名的西西弗斯处罚,是神话流传下来的,他被迫推一块巨大的石头上山,当登顶之后,只能眼睁睁看着它滚下去&#xf…...

完善登录功能--过滤器的使用

系列文章目录 Spring Boot读取配置文件内容的三种方式 Spring Boot自动配置–如何切换内置Web服务器 SpringBoot项目部署 上述为该系列部分文章,想了解更多可看我博客主页哦! 文章目录系列文章目录前言一、创建自定义过滤器LoginCheckFilter二、在启动类…...

CSS基础:属性和关系选择器

字体属性 color 文本颜色 div{ color:red;} div{ color:#ff0000;} div{ color:rgb(255,0,0);} div{ color:rgba(255,0,0,.5);}font-size 文本大小 h1 {font-size:40px;} h2 {font-size:30px;} p {font-size:14px;}注意:chrome浏览器接受最小字体是12px font-we…...

设计模式:原型模式解决对象创建成本大问题

一、问题场景 现在有一只猫tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和tom猫属性完全相同的10只猫。 二、传统解决方案 public class Cat {private String name;private int age;private String color;…...

驱动开发(二)

一、驱动流程 驱动需要以下几个步骤才能完成对硬件的访问和操作&#xff1a; 模块加载函数 module_init注册主次设备号 <应用程序通过设备号找到设备>驱动设备文件 <应用程序访问驱动的方式> 1、手动创建 &#xff08;mknod&#xff09;2、程序自动创建file_oper…...

《狂飙》大结局,这22句经典台词值得细品

最近爆火的热播剧《狂飙》大家都看了吗&#xff1f; 剧情紧凑、演技炸裂、豆瓣评分9.0&#xff0c;可以说是开年评分最高的一部国产剧。 ​ 虽然大结局了。 里面有很多经典台词&#xff0c;值得每个人细细品味。 01 这世界不缺梦想 有本事你就去实现它 02 你这么善良 怎么跟坏…...

【计算机网络期末复习】第二章 物理层

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 &#x1f4e3;专栏定位&#xff1a;为想复习学校计算机网络课程的同学提供重点大纲&#xff0c;帮助大家渡过期末考~ &#x1f4da;专栏地址&#xff1a; ❤️如果有收获的话&#xff0c;欢迎点…...

多核异构核间通信-mailbox/RPMsg 介绍及实验

1. 多核异构核间通信 由于MP157是一款多核异构的芯片&#xff0c;其中既包含的高性能的A7核及实时性强的M4内核&#xff0c;那么这两种处理器在工作时&#xff0c;怎么互相协调配合呢&#xff1f; 这就涉及到了核间通信的概念了。 IPCC (inter-processor communication contr…...

【Rust日报】2023-02-11 从头开始构建云数据库 RisingWave - 为什么我们从 C++ 转向 Rust...

GTK4发布v0.60gtk4-rs代码库包含GTK4的Rust crates。还有个庞大的GObject库生态系统&#xff0c;其中许多库基于gtk-rs中包含的Rust绑定工具。 特别是&#xff1a;gtk-rs-core&#xff0c;一些核心库的绑定&#xff0c;例如 glib、gio、pango、graphenegstreamer-rs&#xff0c…...

Linux驱动开发(一)

linux驱动学习记录 一、背景 在开始学习我的linux驱动之旅之前&#xff0c;先提一下题外话&#xff0c;我是一个c语言应用层开发工作人员&#xff0c;在工作当中往往会和硬件直接进行数据的交互&#xff0c;往往遇到数据不通的情况&#xff0c;常常难以定位&#xff0c;而恰巧…...

Spring MVC 之返回数据(静态页面、非静态页面、JSON对象、请求转发与请求重定向)

文章目录1. 默认情况下返回静态页面2. 返回一个非静态页面的数据2.1 ResponseBody 返回页面内容2.2 RestController ResponseBody Controller3. 实现登录功能&#xff0c;返回 JSON 对象3.1 前端使⽤ ajax&#xff0c;后端返回 json 给前端3.2 前端发送 JSON 的标准格式4. 请…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)

注&#xff1a;文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件&#xff1a;STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...

Linux入门(十五)安装java安装tomcat安装dotnet安装mysql

安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了&#xff0c;系统很多命…...

C++课设:实现本地留言板系统(支持留言、搜索、标签、加密等)

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 专栏介绍&#xff1a;《编程项目实战》 目录 一、项目功能概览与亮点分析1. 核心功能…...

SpringBoot离线应用的5种实现方式

在当今高度依赖网络的环境中&#xff0c;离线应用的价值日益凸显。无论是在网络不稳定的区域运行的现场系统&#xff0c;还是需要在断网环境下使用的企业内部应用&#xff0c;具备离线工作能力已成为许多应用的必备特性。 本文将介绍基于SpringBoot实现离线应用的5种不同方式。…...