day14压缩打包

今日总结

文件打包与压缩

1.什么是文件压缩?
就是将多个文件和目录压缩成一个特殊文件。
2为什么要压缩文件?

  • 减小文件的体积
  • 加快传输的效率
  • 减少网络带宽

3.linux的压缩包和Windows的压缩包是否互通?

  • Windows支持很多文件压缩类型。如:rar,zip
  • linux:zip,tar.gz
  • Windows和linux互通一般选择zip

4.linux下压缩包的类型

格式 压缩工具
.zip zip压缩工具(经常使用)
.gz gzip压缩工具,只能压缩文件,会删除原始文件(通常配合tar使用)
.bz2 bzip2压缩工具,只能压缩文件(通常配合tar使用)
.tar.gz 先使用tar命令归档打包,然后使用gzip压缩(必须会)
.tar.bz2 先使用tar命令归档打包,然后使用压缩(顺带会的)

1.gzip打包与压缩

#系统如没有,先安装
[root@oldboy~]# yum install gzip -y
[root@oldboy~]# gzip 3.txt   #打包
[root@oldboy~]# zcat 3.txt.gz   #查看包内文件内容
[root@oldboy~]# gzip -d 3.txt.gz  #解包

#当想让某个文件不生效时
[root@oldboy~/yum.repos.d]# gzip CentOS-Base.repo 
[root@oldboy~/yum.repos.d]# zcat CentOS-Base.repo.gz 

2.zip打包与压缩

#系统不自带zip和unzip工具,需要安装
[root@oldboy~]# yum install zip unzip -y

#1.压缩文件为zip包
[root@oldboy~]# zip qin.zip 3.txt 
[root@oldboy~]# unzip -l qin.zip   #查看包内容

#2.压缩目录为zip包
[root@oldboy~]# zip -r yum.zip yum.repos.d/

#3.查看zip压缩包是否完整
[root@oldboy~]# zip -T yum.zip 
test of yum.zip OK

#4.不解压压缩查看压缩包中的内容
[root@oldboy~]# unzip -l yum.zip 
[root@oldboy~]# unzip -t yum.zip 

#5.解压zip文件包中的内容默认解压到当前目录
[root@oldboy~]# unzip yum.zip 

#6.解压zip内容至/tmp目录
[root@oldboy~]# unzip  yum.zip -d /tmp/

#打包
[root@oldboy~]# zip -r /tmp/test.zip 3.txt yum.repos.d/


#解包
[root@oldboy~]# unzip  yum.zip -d /tmp/

3.tar工具使用

#语法:tar [-zjxcvfpP] filename
c #创建新的归档文件
x #对归档文件解包
t #列出归档文件里的文件列表
f #指定包文件名,多参数f写最后
z #使用gzip压缩归档后的文件(.tar.gz)
j #使用bzip2压缩归档后的文件(.tar.bz2)
J #使用xz压缩归档后的文件(tar.xz)
C #指定解压目录位置
X #排除多个文件(写入需要排除的文件名称)
h #打包软链接
--exclude #在打包的时候写入需要排除文件或目录

#常用的打包组合
cjf   #打包tar.bz格式
cJf   #打包tar.xz格式  使用较少

zxf   #解压tar.gz格式
jxf   #解压tar.bz格式

czf   #打包tar.bz格式
tf    #查看压缩包内容
xf    #自动选择和解压模式
1.将文件或目录进行打包压缩
#打包
[root@oldboy~]# tar czf test.tar.gz aaa/ bbb/ ccc/
[root@oldboy~]# tar cjf test.tar.bz2 yum.repos.d/ ccc

#查看包内容
[root@oldboy~]# tar tf test.tar.gz 
[root@oldboy~]# tar tf test.tar.bz2
[root@oldboy~]# tar tf test.tar.xz

#解压
[root@oldboy~]# tar xf test.tar.gz 
[root@oldboy~]# tar xf test.tar.bz2
[root@oldboy~]# tar xf test.tar.xz
[root@oldboy~]# tar xf test.tar.gz -C /opt/ #解压至指定目录

#打包/tmp目录下的所有文件
[root@oldboy~]# find /tmp/ -type  f |xargs tar czf tmp.tar.gz 

#3.打包链接文件,打包链接文件的真是文件
[root@oldboy~]# tar tf local.tar.gz 

#4.排除操作
[root@oldboy~]# tar czf etc.tar.gz /etc/ --exclude=etc/services
[root@oldboy~]# tar czf etc1.tar.gz /etc/ --exclude=etc/passwd --exclude=etc/shadow

#5.将需要排除的文件写入文件中
[root@oldboyedu opt]# cat pc.txt
etc/gshadow
etc/gshadowetc/passwd
etc/passwdetc/shadowetc/shadow
etc/security/opasswd
etc/pam.d/passwd
[root@oldboyedu opt]# tar czXf pc.txt etc.tar.gz /etc/

#1.环境准备
[root@xuliangwei ~]# yum install mariadb-server
[root@xuliangwei ~]# systemctl start mariadb
[root@xuliangwei ~]# mkdir /backup
#案例1.mysql备份及恢复
[root@xuliangwei ~]# tar cJf /backup/mysql.tar.xz /var/lib/mysql
[root@xuliangwei ~]# tar xf /backup/mysql.tar.xz -C /
#案例2 mysql备份及恢复
[root@xuliangwei ~]# cd /var/lib/mysql
[root@xuliangwei mysql]# tar cJf /backup/mysql.tar.xz*
[root@xuliangwei mysql]# tar tf /backup/mysql.tar.xz
[root@xuliangwei mysql]# tar xf /backup/mysql.tar.xz -C /var/lib/mysql

你可能感兴趣的:(day14压缩打包)