15 压缩和归档操作

压缩和归档操作

一、归档备份概述

(一)文件归档

​ 将许多零散的文件打包,并记录好各自的位置

​ 并不压缩其存储空间

​ 主要起到整理、备案的作用

(二)文件压缩

​ 将单个文件按照某种算法重新编码存放

​ 只针对单个文件

​ 主要起到降低文件大小、节省磁盘空间的作用

(三)归档压缩包

​ 整合归档+压缩后的结果

​ 先归档,再压缩

(四)归档压缩格式

​ 常见压缩包格式

扩展名压缩工具归档工具
.zip、.rar、.7zWinRAR、2345好压、7-zip、…
.zipzip、unzip
.tar、.gz、.tgzbzip2、bunzip2tar
.tar、.bz2、.tbzbzip2、bunzip2tar
.tar、.xz、.txzxz、unxztar

二、zip压缩工具

(一)制作.zip压缩包

​ zip 备份操作

​ 用法:zip [-r] 压缩包名被压缩的文档……

[root@localhost-localdomain ~]# zip -r /data/text01.zip /etc/passwd
  adding: etc/passwd (deflated 61%)
[root@localhost-localdomain ~]# ls /data
hn  ls.help  text01.zip  xixi.txt

(二)zip备份应用实例

​ 将目录/etc/passwd和文件/data/ls.help 备份为/data/mybak.zip

[root@localhost-localdomain ~]# zip -r /data/mybak.zip /etc/passwd /data/ls.help
  adding: etc/passwd (deflated 61%)
  adding: data/ls.help (deflated 43%)
[root@localhost-localdomain ~]# ls /data
hn  ls.help  mybak.zip  text01.zip  xixi.txt

(三)释放.zip压缩包

1.unzip 解压操作

​ 用法:unzip [-d 目标文件夹] .zip压缩包

[root@localhost-localdomain ~]# zip -r /data/text01.zip /etc/passwd /boot
  adding: etc/passwd (deflated 61%)
  adding: boot/ (stored 0%)
  adding: boot/lost+found/ (stored 0%)
  adding: boot/vmlinuz-0-rescue-41dc9e828da241dc829f902c1adaf0be (deflated 6%)
  adding: boot/initramfs-3.10.0-1160.el7.x86_64.img (deflated 1%)
  adding: boot/config-3.10.0-1160.el7.x86_64 (deflated 75%)
  adding: boot/initramfs-0-rescue-41dc9e828da241dc829f902c1adaf0be.img (deflated 1%)
  adding: boot/System.map-3.10.0-1160.el7.x86_64 (deflated 79%)
  adding: boot/symvers-3.10.0-1160.el7.x86_64.gz (deflated 0%)
……

[root@localhost-localdomain ~]# unzip -d /data/  /data/text01.zip			// 释放到指定目录
[root@localhost-localdomain ~]# unzip /data/text01.zip			// 释放到当前目录
Archive:  /data/text01.zip
  inflating: /data/etc/passwd        
   creating: /data/boot/
   creating: /data/boot/lost+found/
  inflating: /data/boot/vmlinuz-0-rescue-41dc9e828da241dc829f902c1adaf0be  
  inflating: /data/boot/initramfs-3.10.0-1160.el7.x86_64.img  
  inflating: /data/boot/config-3.10.0-1160.el7.x86_64  
  inflating: /data/boot/initramfs-0-rescue-41dc9e828da241dc829f902c1adaf0be.img  
  inflating: /data/boot/System.map-3.10.0-1160.el7.x86_64  
  inflating: /data/boot/symvers-3.10.0-1160.el7.x86_64.gz  
   creating: /data/boot/grub/
……

[root@localhost-localdomain ~]# ls /data
boot  etc  text01.zip

[root@localhost-localdomain ~]# ls /data/boot
config-3.10.0-1160.el7.x86_64
efi
grub
grub2
initramfs-0-rescue-41dc9e828da241dc829f902c1adaf0be.img
initramfs-3.10.0-1160.el7.x86_64.img
lost+found
symvers-3.10.0-1160.el7.x86_64.gz
System.map-3.10.0-1160.el7.x86_64
vmlinuz-0-rescue-41dc9e828da241dc829f902c1adaf0be
vmlinuz-3.10.0-1160.el7.x86_64

三、gzip/bzip2/xz压缩工具

(一)制作.gz压缩包

​ 用法:gzip[-9] 文件名…

​ 分别压缩每个文件,原始文件不保留

[root@localhost-localdomain ~]# touch /data/text01.txt

[root@localhost-localdomain ~]# ls /data/
text01.txt

[root@localhost-localdomain ~]# gzip /data/text01.txt

[root@localhost-localdomain ~]# ls /data
text01.txt.gz

(二)释放.gz压缩包

​ 用法1:gunzip.gz压缩包……

​ 用法2:gzip-d .gz压缩包……

​ 分别解压每个.gz包文件,原始文件不保留

[root@localhost-localdomain ~]# gzip -d /data/text01.txt.gz

[root@localhost-localdomain ~]# ls /data
text01.txt

(三)bzip2与bunzip2

1.bzip2 压缩操作

​ 用法:bzip2 [-9] 文件名…

​ 分别压缩每个文件,原始文件不保留

[root@localhost-localdomain ~]# bzip2 /data/text01.txt、

[root@localhost-localdomain ~]# ls /data
text01.txt.bz2
2.bunzip2 解压操作

​ 用法1:bunzip2 .bz2压缩文件… …

​ 用法2:bzip2 -d .bz2压缩文件… …

​ 分别解压每个.bz2包文件,原始文件不保留

[root@localhost-localdomain ~]# bzip2 -d /data/text01.txt.bz2

[root@localhost-localdomain ~]# ls /data
text01.txt

(四)xz与unxz

1.xz压缩操作

​ 用法:xz[-9] 文件名…

​ 分别压缩每个文件,原始文件不保留

[root@localhost-localdomain ~]# xz /data/text01.txt

[root@localhost-localdomain ~]# ls /data
text01.txt.xz
1.unxz解压操作

​ 用法1:unxz.xz压缩文件……

​ 用法2:xz-d .xz压缩文件……

​ 分别解压每个.xz包文件,原始文件不保留

[root@localhost-localdomain ~]# xz -d /data/text01.txt.xz

[root@localhost-localdomain ~]# ls /data
text01.txt

四、tar归档及压缩

(一)制作.tar归档包

​ 用法:tar -cf .tar归档包名 被归档的文件… …

​ 逐一复制并归档,原始文件保留

​ 选项含义:-c 创建、-v 细节、-P 保留根路径、-f 归档

[root@localhost-localdomain ~]# tar -cf /data/text05.tar /boot/ /etc/passwd
tar: 从成员名中删除开头的“/”

[root@localhost-localdomain ~]# ls /data/
text01.txt  text05.tar

(二)释放.tar归档包

​ 用法:tar -xf .tar归档包 [-C 目标目录]

​ 解包并逐一提取,原始文件保留

​ 选项含义:-x 释放、-C 存放的目标位置

[root@localhost-localdomain ~]# tar -xf /data/text05.tar -C /data

[root@localhost-localdomain ~]# ls /data
boot  etc  text01.txt  text05.tar

(三)归档+压缩的整合

1.tar 外连选项

​ -z:调用gzip执行压缩/解压缩

[root@localhost-localdomain ~]# tar -zcf /data/text01.tar.gz /etc/passwd /boot/
tar: 从成员名中删除开头的“/”

[root@localhost-localdomain ~]# ls /data/
text01.tar.gz

​ -j:调用bzip2 执行压缩/解压缩

[root@localhost-localdomain ~]# tar -jcf /data/text01.tar.bz2 /etc/passwd /boot/
tar: 从成员名中删除开头的“/”

[root@localhost-localdomain ~]# ls /data/
text01.tar.bz2  text01.tar.gz

​ -J:调用xz执行压缩/解压缩

[root@localhost-localdomain ~]# tar -Jcf /data/text01.tar.xz /etc/passwd /boot/
tar: 从成员名中删除开头的“/”

[root@localhost-localdomain ~]# ls /data/
text01.tar.bz2  text01.tar.gz  text01.tar.xz
2.制作.tar.gz、.tar.bz2、.tar.xz归档压缩包

​ tar -zcf.tar.gz包被备份的文件……

​ tar -jcf.tar.bz2包被备份的文件……

​ tar -Jcf.tar.xz包被备份的文件……

3.释放.tar.gz、.tar.bz2、.tar.xz归档压缩包

​ tar -xf备份文件[-C 目标目录]

[root@localhost-localdomain ~]# tar -xf /data/text01.tar.gz -C /data/

[root@localhost-localdomain ~]# ls /data/
boot  etc  text01.tar.bz2  text01.tar.gz  text01.tar.xz

(四)归档+压缩的整合

​ 将/etc和/srv目录备份为/opt/etcsrv.tar.gz 文件

​ 保留原始文档的根路径(-P)、权限等属性(-p)

[root@localhost-localdomain ~]# tar -zcpPf /data/etcsrv.tar.gz  /etc/passwd /boot/

[root@localhost-localdomain ~]# ls /data/
boot  etc  etcsrv.tar.gz  text01.tar.bz2  text01.tar.gz  text01.tar.xz

[root@localhost-localdomain ~]# tar -tf /data/etcsrv.tar.gz
tar: 从成员名中删除开头的“/”
/etc/passwd
/boot/
/boot/lost+found/
/boot/vmlinuz-0-rescue-41dc9e828da241dc829f902c1adaf0be
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/boot/config-3.10.0-1160.el7.x86_64
/boot/initramfs-0-rescue-41dc9e828da241dc829f902c1adaf0be.img
/boot/System.map-3.10.0-1160.el7.x86_64
/boot/symvers-3.10.0-1160.el7.x86_64.gz
/boot/grub/
……

[root@localhost-localdomain ~]# ls -lh /data/etcsrv.tar.gz
-rw-r--r--. 1 root root 122M 629 18:30 /data/etcsrv.tar.gz

[root@localhost-localdomain ~]# tar -zxpPf /data/etcsrv.tar.gz			// 还原操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值