Linux之文件与文件系统的压缩

一、压缩文件的用途与技术

文件中有相当多的空间存在,并不是完全填满的,而压缩技术就是将这些空间填满,这就是压缩。若要使用这些文件数据,必须还原回来未压缩前的模样,这就是解压缩。

好处:压缩过后的文件容量变小了,所以硬盘容量可以容纳更多的数据;
由于数据量的降低,可以让网络带宽做更多的工作。

二、Linux常见的压缩命令

1、compress(在CenterOS中默认未安装)压缩文件的*后缀为 .Z
①、压缩:compress -v 文档名(压缩后原文件不存在),如果要保存原文件,可以使用:composer -c -v 文档名 > 压缩后的文档名
②、解压:uncompress 压缩后的文档名

2、gzip(压缩的 后缀为 *.gz),zcat
①、压缩文档可以使用:gzip 文档名在这里插入图片描述压缩完之后原文件不存在,如要使原文件存在可以使用:gzip -c 文档名 > 文档压缩名

例如:压缩2020这个文件,使其原文件还存在。“ -c ”表示将压缩的数据输出到屏幕上,可通过数据流重定向(“ > ”)来处理。
语法: gzip -c 20200926.txt > 20200926.txt.gz
在这里插入图片描述

②、查看压缩内容:虽然压缩了但是也可以查看压缩的内容:zcat/zmore/zless 压缩的文档名,zcat/zmore/zless对应cat/more/less可以使用不同的方式来读取纯文本文件。
在这里插入图片描述

③、解压:gzip -d 压缩的文档名,会删除已压缩好的 *.gz 文件,恢复到原来未压缩的文件。“ -d ”表示解压缩的参数在这里插入图片描述

3、bzip2(压缩 后缀 *.bz2),bzcat
①、压缩文件。语法:bzip2 文档名在这里插入图片描述压缩完之后原文件不存在,如要使原文件存在可以使用:gzip -c 文档名 > 文档压缩名

例如:压缩2020这个文件,使其原文件还存在。
语法: bzip2 -c 20200926.txt > 20200926.txt.bz2在这里插入图片描述

②、解压文件。语法:bzip2 -d 压缩文档名在这里插入图片描述
③、查看压缩内容:bzcat/bzmore/bzless 压缩文档名,bzcat/bzmore/bzless对应cat/more/less可以使用不同的方式来读取纯文本文件。在这里插入图片描述

3、zip程序压缩文件(压缩*后缀为 .zip
①、压缩文件:zip 文档压缩名 文件名在这里插入图片描述
②、解压:unzip 压缩文档名在这里插入图片描述

三、打包命令

1、由于压缩命令只能针对一个文件来压缩与解压缩,如此一来,每次压缩与解压缩都要一大堆文件,所有可以使用打包tar(可以将文档打包成一个文件,但是并自身不支持压缩功能),打包的后缀为( *.tar ),打包之后的文档大小会变大

①、打包文件
语法:tar cvf 打包之后的名字 需要打包的文档1 需要打包的文档2 需要打包的文档3(保留原文件)。“ c ”create创建打包文件,“ v ”显示打包的过程(在压缩或解压缩的过程中显示正在处理的文件名),“ f ”指明打包的名称,“ f ”(filename)表示后面立刻要处理的文件名。

注意:这里的“ f ”后面一定要跟文件名【-f filename】的形式,如果后面跟的不是文件名会导致找不到文件,这里建议吧f独立出来。
语法: tar -cv -f filename

例如:-cfv filename,则会认为v是一个文件,而不存在v这个文件。

在这里插入图片描述
可以看到文档的大小变大了在这里插入图片描述
(如果不需要保留原文件)可以使用语法:tar cvf 打包之后的名字 需要打包的文档 --remove-files在这里插入图片描述

②、查看文件
语法:tar tvf 已打包文件名在这里插入图片描述

③、解包
语法: tar xvf 已打包的文件名 [-C 路径](默认是解包到当前文件夹下,如果需要指定解包的路径可以使用 “ -C 路径 ”),“ x ”表示解包或解压缩功能,在这里插入图片描述

④、解压指定的文件
语法: tar xvf 已打包的文件名 指定文件名在这里插入图片描述
2、由于tar自身不支持压缩功能,所有需要手动压缩。
①、打包压缩(gzip方式,后缀为 *.tar.gz)
语法:tar zcvf 打包后的文件名 需要打包的文件1 需要打包的文件2“ -z ”表示表示gzip压缩方式在这里插入图片描述
②、解压(gzip方式)
语法:tar zxvf 压缩后的文件名 ,如果需要解压指定文件或解压到指定位置与tar的使用方式一致。
在这里插入图片描述
③、打包压缩(bzip2方式)
语法:tar jcvf 打包后的文件名 需要打包的文件1 需要打包的文件2“ -j ”表示表示bzip2压缩方式在这里插入图片描述

②、解压(bzip2方式)
语法:tar jxvf 压缩后的文件名 在这里插入图片描述
SELinux的权限问题可能会让你的系统无法读写某些配置文件内容,导致影响到系统的正常使用。
在第一次恢复系统后,不要立即重启,先试用restorecon -Rv /etc自动修复一下SELinux的类型即可

四、备份工具

常用的备份方式:完全备份,增量备份,差异备份。
完全备份:将硬盘中的数据完全备份下来(缺点:数据会重复备份,极大消耗带宽)
增量备份:对比前一次数据增长的数据备份下来(从低级别往高级别备份)
差异备份:从第一次备份到现在所有增长的数据(从高级别往低级别备份)

注意:备份数据之前必需要完全备份
在这里插入图片描述备份级别:取值范围(0-9)
0:表示完全备份
只会从上一次级别比其小的时候开始备份

1、备份数据
语法:dump 备份级别 备份后的文件名 需要备份的文件
例如:dump -0u -f a.dump a.txt。 “ -u ”表示写入备份时间

2、查看数据但不恢复数据
restore -t -f 备份后的文件名。“ -t ”表示不恢复数据的时候查看数据

3、恢复数据
①、首先恢复完全备份数据
语法:restore -r -f 指定备份文件。“ -r ”表示递归
②、恢复指定级别备份数据
语法:restore -r -f 指定备份文件

如果需要恢复特定的文件
语法:restore -i -f 指定备份文件

五、光盘写入工具

我们从FTP站下载的镜像文件(不管是CD还是DVD)都要继续刻录成为物理的CD/DVD后,才能进一步使用,也得先将你的数据制作成镜像文件,这样才能写入DVD中,而将你的数据刻录到DVD时,也要先将你的数据制作成镜像文件,这样才能够写入DVD中。

建立镜像文件:mkisofs -o -r 镜像文件名 文件名1 文件名2 。“ -o ”后面接想要产生的那个镜像文件,“ -r ”表示记录完整的文件信息(UID/GID)。在这里插入图片描述

六、其它的常见压缩与备份工具

dd命令,读取,转换并输出数据。(默认是一个一个扇区去读写的,而dump只备份文件系统这中使用到的部分,但是正是因为不理会文件系统,单纯有啥记录啥,所有无论该磁盘内的文件系统你是你是否识别,它都可以备份、还原)

语法:dd if=“input file” of=“output file” bs=“block size” count="number"

猜你喜欢

转载自blog.csdn.net/qq_44796093/article/details/108987167