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

《Linux Shell脚本攻略》学习笔记-第七章

7.1 简介

随着磁盘存储技术的发展,最简单地备份方法是添加新的磁盘设备或是使用云存储,而不再是依赖磁盘。

但是也需要压缩备份数据,降低存储空间需求以及传输时间。把数据存放在云端之前应该对其加密。数据在加密之前通常都要先进行归档和压缩。

7.2 使用tar归档

tar命令可以用于归档。tar可以将多个文件和文件夹打包为单个文件,同事还能保留所有的文件属性。由tar创建的文件通常称为tarball。

选项-c表示创建新的归档文件,选项-f表示归档文件名。

文件名应该紧跟在-f选项之后出现,而且-f应该是选项中的最后一个。

选项-r可以将新文件追加到已有的归档文件末尾

选项-x可以将归档文件中的内容提取到当前目录;通过选项-C来指定将文件提取到哪个目录;通过将文件名作为命令行参数来提取特定的文件

在归档时,我们可以将stdout指定为输出文件,这样另一个命令就可以通过管道来读取(作为stdin)并进行其他处理。

我们可以使用选项-A拼接多个tar文件

如果同名文件已经存在,那么归档文件中就会包含两个名字一样的文件。我们可以使用更新选项-u指明:只添加比归档文件中的同名文件更新的文件。

选项-d可以将归档文件中的文件与文件系统中的文件进行比较。

tar命令默认之归档文件,并不对其进行压缩。不过tar支持用于压缩的相关选项。压缩能够显著减少文件的体积。

归档文件通常被压缩成下列各式之一:gzip格式(-j)、bzip2格式(-z)lzma格式(--lzma)

不明确指定上面那些特定的选项也可以使用压缩功能。tar能够基于输出或者输入文件的扩展名来进行压缩。

选项--exclude可以将匹配通配符模式的文件排除在归档过程之外。

也可以将需要排除的文件列表放入文件中,同时配合选项-X

tar的选项--exclude-vcs可以在归档时排除版本控制相关的文件和目录。

7.3 使用cpio归档

7.4 使用gzip压缩文件

gzip和gunzip可以分别用于压缩和解压缩。

从stdin中读入文件并将压缩文件写出到stdout

后缀.gz表示的是经过gzip压缩过的tar归档文件,有两种方法可以创建此类文件。

方法一:

选项-z指明用gzip进行压缩,选项-a指明根据文件扩展名推断压缩格式

方法二:

zcat命令无需经过解压缩操作就可以将.gz文件中的内容输出到stdout。

我们可以指定压缩率,它共有9级,其中:1级的压缩率最低,但是压缩速度最快;9级的压缩率最高,但是压缩速度最慢。

gzip默认使用第6级,倾向于在牺牲一些压缩速度的情况下获得比较好的压缩率。

7.5 使用zip归档及压缩

在完成提取操作后,unzip不会删除file.zip,这与gunzip不同。

7.6 更快的归档工具pbzip2

pbzip命令采用了多线程,能够借助多核来降低压缩文件所需的时间。

选项-d可以进行解压缩

7.8 使用rsync备份系统快照

rsync可以在最小化数据传输量的同时,同步不同位置上的文件和目录。相较于cp命令,rsync的优势在于比较文件修改日期,仅复制新的文件。

另外,它还支持远程数据传输以及压缩和加密。

  • 解压缩
  • 压缩单个文件
  • 选项-l可以列出压缩归档文件中的内容
  • 选项-d可以从压缩归档文件中删除一个或者多个文件
  • 选项-u可以更新压缩归档文件中的内容
  • 解压缩文件
  • 选项-r可以对目录进行递归式归档
  • 创建zip格式的压缩归档文件
  • 使用bzip2
  • 压缩率
  • zcat-直接读取gzip格式文件
  • 压缩归档文件
  • 补充内容
  • gzip命令
  • 打印总字节数
  • 排除版本控制目录
  • 在归档过程中排除部分文件
  • 压缩tar归档文件
  • 从归档中删除文件
  • 比较归档文件与文件系统中的内容
  • 通过检查时间戳来更新归档文件中的内容
  • 拼接两个归档文件
  • 在tar中使用stdin和stdout
  • 从归档文件中提取文件或目录
  • 向归档文件中追加文件
  • tar命令的其他特性
  • 选项-v或-vv参数可以在命令输出中加入更多的细节信息
  • 列出归档文件中所包含的文件
  • 使用tar创建归档文件

相关文章:

  • 建设网站主题/推广策划
  • 盐城专业做网站/抖音搜索seo代理
  • 做动漫网站需要服务器么/seo权重是什么意思
  • 有做面食的网站吗/网络游戏推广平台
  • 公司网站维护价格表2023/宁波网站制作与推广价格
  • 做网站硬件/全球网络营销公司排名
  • 整数分解
  • Avalonia使用CefNet 实现web-browsers(基于CentOS8 Arm64架构)
  • 蓝桥杯C/C++百校真题赛(3期)Day4(卡片)
  • MyBatis 详解 -- 环境搭建、查询操作
  • 机器学习:公式推导与代码实现-监督学习集成模型
  • RabbitMQ 部署及配置详解(集群部署)
  • DTO 与 PO的相互转换
  • 【Linux编译器】
  • 转换函数和运算符类
  • 【8】SCI易中期刊推荐——图像处理领域(中科院4区)
  • 聊聊模板方法模式?
  • 【学习】计算机系统硬件和数据结构