压缩、打包和备份是什么?
- 压缩指的是将大文件转变为小文件的技术,以此减少硬盘使用量及方便传输
- 打包指将一堆文件整合成一个文件的技术
- 备份指对系统核心资料进行额外存储,还原指对备份文件重新写回原文件
文件后缀
压缩指令只能压缩一个文件,当需要压缩多个文件时,可加上 tar 进行打包压缩
后缀 | 解释 |
---|---|
.Z | compress 命令压缩的文件 |
.zip | zip 命令压缩的文件 |
.gz | gzip 命令压缩的文件 |
.bz2 | bzip2 命令压缩的文件 |
.xz | xz 命令压缩的文件 |
.tar | tar 命令打包的文件,未压缩 |
.tar.gz | tar 命令打包的文件,并且经过 gzip 的压缩 |
.tar.bz2 | tar 命令打包的文件,并且经过 bzip2 的压缩 |
.tar.xz | tar 命令打包的文件,并且经过 xz 的压缩 |
压缩
gzip
通过 gzip 可解压缩由compress、zip、gzip等命令压缩的文件,-c 将压缩资料显示出来或重定向,-d 解压缩,-t 检验压缩文档有无错误,-v 显示压缩比,-num 指定压缩等级(1压缩最快,9压缩比最优,默认为6)
如上,默认的gzip会将原文件压缩,这样原文件不见了,而要保留原文件压缩需要加上参数 -c 将压缩文件重定向
此外,通过 zcat/zmore/zless/grep 可查看压缩文件内容
解压缩则通过参数 -d 实现
bzip2
命令 bzip2 与gzip类似,相比gzip具有更佳的压缩比(反之压缩时间更长),-c 将压缩资料显示出来,-d 解压缩,-k 保留原文件压缩,-z 压缩参数,-v 显示压缩比等信息,- num 指定压缩等级
如上,后缀为bz2,也可用 bzcat/bzmore/bzless/bzgrep 等命令查看内容
xz
命令 xz 也差不多,相比bzip2具有更佳的压缩比(反之压缩时间更长),-d 解压缩,-t 检验压缩文档有无错误,-l 列出压缩信息,-k 保留原文件压缩,-c 将压缩资料显示出来,-num 指定压缩等级
同理,后缀为xz,可用 xzcat 等命令
打包
zip
解压zip
unzip file.zip
打包文件为zip
zip -r output.zip folder/
tar
上面命令仅是针对一个文件压缩,用于目录则将是把目录内的文件分别压缩,要将目录整体打包压缩需要使用命令 tar
- -c 建立打包文件(加上-v可查看打包过程中被打包的文件名)
- -t 查看打包文件内的文件名(加上-v显示文件属性)
- -x 解压缩或解打包(加上-C可指定目录)
- -z 表示通过gzip打包压缩,-j 表示通过bzip2打包压缩,-J 表示通过xz打包压缩
- -f 指定文件(建议单独列在末尾)
- -p 保留原本属性,-P 保留绝对路径(解压时可能会覆盖原文件)
如下,分别利用gzip、bzip2、xz打包压缩(后缀需要自己取)
如下查看gz压缩文件里面的内容
如下将gz压缩文件解压到temp,若不指定目录则在当前目录解压
如下gz压缩文件中有1.txt和2.txt,只解压2.txt
–exclude=file 不打包指定file,如下不打包2.txt
–newer表示mtime和citme更新的文件,–newer-mtine表示仅mtime更新的文件,如下将3.7号后的文件打包成bz2文件,只对1.txt生效
备份和还原
xfsdump
通过 xfsdump 命令可备份xfs文件系统,支持完全备份和增量备份,-L指定session label,-M指定media label,-l 指定等级(默认0完全备份),-f 指定文件,-I 列出/var/lib/xfsdump/inventory的信息
xfsrestore
xfsdump备份的文件只能通过 xfsrestore 还原,-I 查看备份资料,-f 指定文件,-L指定session label,-s 仅还原某一文件或目录,-r 增量还原,-i 进入互动模式
dd
命令 dd 可用读取硬盘装置的内容,然后再将整个装置备份,if 表示inputfile,of表示outputfile,bs 表示block大小(默认为512b),count 表示bs数量
dd直接将旧的分割槽上面,将sector的资料整个复制过来,连同superblock, boot sector, meta data 等等也会复制过来
cpio
命令 cpio 可备份任何东西,包括文件、设备,-o 将资料备份,-B 让备份时的Block增至5120b(原本为512b),-i 将资料还原,-d 还原时自动建立目录,-u 还原时新文件自动覆盖旧文件,-t 还原时可查看建立的文件,-v 让存储过程在屏幕显示,-c 以一种较新的portable格式存储
cpio 需要配合find命令和重定向来指定要备份的文件,如上将myspaces 备份到/tmp,再去/temp将myspaces还原