文章目录
第9章(文件与文件系统的压缩和打包)
1. Linux系统常见的压缩命令
1.1 Compress
非常老的压缩命令,现在不太用了,书上有,我就写着玩吧。
1.1.1 压缩
原文件会消失。
1.1.2 解压缩
压缩文件消失。
1.1.3 保留原文件压缩
1.2 gzip,zcat
1.2.1 压缩
原文件会消失。
1.2.2 解压缩
压缩文件消失。
兼容由.Z结尾的Compress压缩的压缩文件。
1.2.3 保留原文件压缩
1.2.4 不解压缩查看文件:zcat
兼容由.Z结尾的Compress压缩的压缩文件。
1.3 bzip,bzcat
1.3.1 压缩
原文件会消失。
1.3.2 解压缩
压缩文件消失。
bunzip2可以代替bzip2 -d:
1.3.3 保留原文件压缩
2. 打包命令:tar
2.1 打包压缩
和cp命令一样,新建文件的权限根新建者有关,时间会改变。
-p:保留权限与属性。
-P:保留根目录。
加上-p,用来备份/etc
2.2 查询
2.3 解压缩
-C 可以指定解压目录,没有-C就直接在当前目录解压,解压后保留压缩文件。
2.4 解开特定文件压缩
2.5 打包某目录,但排除一些文件
2.6 仅备份比某个时刻新的文件
备份的,后面什么都没有。
不备份的,not dumped。
备份的时候如果一个文件没有变化,就没有必要再备份,很浪费。可以根据时间过滤出需要备份的数据。
2.7 当复制用
我不知道书上为什么还要特殊记录这个用法,反正我感觉这个用法很垃圾,毫无用处。先放在这,说不定是我水平太低,以后就觉着有用了呢。
和cp -r 一个效果:
命令中的 - 符号代表内存中的缓冲区。
3. 完整备份工具:dump
3.1 dump
如果备份一个文件系统:支持level。可以使用挂载点或设备进行备份。
如果备份一个目录:不支持level,-u创建/etc/dumpdates时间记录文件,备份数据要在该目录下。
3.1.1 备份文件系统
3.1.2 备份目录
3.2 restore
3.2.1 查看dump数据信息
3.2.2 比较差异
3.2.3 还原整个文件系统
书上说要新建一个文件系统(分区),用来还原文件系统。但仔细想想就会很疑惑,我就只想恢复一下文件,为什么还得新建一个文件系统呢,直接在原来的文件系统上还原不就好了吗?根据下面实验,可以得出,如果不使用一个新的文件系统,还原后,文件系统并不一定能完全恢复到原来的状态。
3.2.3.1 对消失,新增文件的处理
这部分书上写得有点语焉不详,如果不自己动手实验的话,根本就不知道这是什么意思。
把一个文件改名之后,使用restore查找差异,只找到了少了一个文件,可却没找到多的那个文件。当执行还原之后,改名之后的文件依旧保留了下来,说明在少了一个文件之后,恢复的只是缺少的文件,而新增的文件不会被删除。
3.2.3.2 对被修改文件的处理
在boot/下创建一个test文本文件,供测试使用:
对boot/进行重新备份:
对boot/test进行修改,并恢复boot/备份,发现test又恢复到备份中的状态。
这说明在恢复备份时,已存在文件会恢复到原有状态。
3.2.4 还原部分文件的restore互动模式
4. 光盘写入工具
4.1 新建镜像文件:mkisofs
可以使用-V设置volume,但我不知道这有什么用:
e2label可以查看设置的卷名:
4.2 光盘刻录工具:cdrecord
因为我从小到大只用过光盘就只有数码宝贝和windows系统的碟,现在我实在用不上;也没见过刻碟机,所以就先不写这部分了。
5. 其他常见的压缩与备份工具
5.1 dd
5.1.1 备份文件
就当复制用了:
5.1.2 备份扇区
第一个扇区内还有MBR和分区表
5.1.3 备份分区
5.1.4 制作一个完全一样的分区
使用fdisk制作一个相同,或更大的分区。不用格式化新建的分区。
然后 of=/dev/分区 。dd命令就会把 if= 的分区,完完整整的复制到新建的分区上。
所谓格式化,就是为磁盘划分出特定的结构,将分区完整复制下来,就相当于变相的完成了格式化。
5.2 cpio
cpio不会主动找文件备份,需要搭配其他命令使用。
5.2.1 备份
5.2.2 还原
在CentOS 5中,会默认解压到当前目录下:
而在CentOS 6,8中,是按绝对路径解压的:
想要在当前目录解压,需要加额外选项:
加上之后,就在当前目录解压了:
5.2.3 查看
转载:https://blog.csdn.net/qq_45582319/article/details/104388802