Linux压缩打包day15

1.文件打包与压缩
2.gzip打包与压缩
3.zip打包与压缩
4.tar打包与压缩


一、文件打包与压缩


1.什么是文件压缩
文件压缩就是指将多个文件或目录合并成为一个特殊的文件。
2.为什么要对文件进行压缩

  • 减小文件的体积
  • 加快资源的传输
  • 节省网络的带宽

3.Windows的压缩包与Linux的压缩包能否互通

  • 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命令归档打包,然后使用bzip压缩

二、gzip打包与压缩


  • 1)gzip打包与压缩,仅对文件有效
gzip  filename          打包
gzip -d filename.gz     解包
zcat filname.gz         查看包内文件的内容

# 使用场景:当需要让某个文件快速关闭和快速启用.
[root@wyw ~]# gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
[root@wyw ~]# zcat CentOS-Vault.repo.gz   --> 查 看不想解压的压

三、zip打包与压缩


默认情况下没有zip和unzip工具,需要进行安装
[root@wyw ~]# yum install zip unzip -y
# 1.压缩文件为zip包
    使用方法:zip filename.zip filename        压缩包
             unzip  -l  filename.zip          查看包内容
# 2.压缩目录为zip包
zip -r dir.zip dir/       -r   递归
# 3.查看zip压缩包是完整的
zip    -T    filename.zip   
test  of  filename.zip OK
# 4.不解压压缩查看压缩包中的内容
unzip -l filename.zip
unzip -t filename.zip        检测文件是否都OK
# 5.解压zip文件包,默认解压至当前目录
unzip filename.zip
# 解压zip内容至/tmp /opt等目录下
unzip filename.zip -d /opt/ 
# 7.打包
zip -r 、/tmp/test.zip file dir/
# 8. 解包
unzip tt.zip
unzip tt.zip -d 、/opt

四、tar打包与压缩


tar是Linux下最常用的压缩与解压缩,支持文件和目录的压缩与归档

  • tar的基本语法
tar  [-zjxvcfpP]  filename
c      创建新的归档文件
x      对归档文件解包
t      列出归档文件里的文件列表
v      输出命令的归档或解包的过程
f      指定包文件名,多参数f写最后
z      使用gzip压缩归档后的文件(.tar.gz)
j      使用bzip2压缩归档后的文件(.tar.bz2)
J      使用xz归档后的文件(tar。xz)
X      排除多个文件(写入需要排除的文件名称)
h      打包软链接
--hard-dereference       打包硬链接
--exclude           在打包的时候写入需要排除文件或目录

# 常用打包与压缩组合
czf      打包tar.gz格式
cjf      打包tar.bz格式
cJf      打包tar.xz格式
zxf      解压tar.gz格式
jxf      解压tar.bz格式
xf       自动选择解压模式
tf       查看压缩包内容
  • 1)将文件或目录进行打包压缩
1.以gzip归档方式打包并压缩
[root@wyw ~]# tar czf test.tar.gz test/ test1/
2.以bz2方式压缩
[root@wyw ~]# tar cjf test.tar.bz2 fir.txt dir/
3.打包连接文件,打包链接文件的真实文件
[root@wyw ~]# cd /
[root@wyw /]# tar czfh local1.tar.gz etc/rc.local
4.打包/tmp下所有文件
[root@wyw ~]# cd /
[root@wyw /]# find tmp/ -type f | xargs tar czf tmp.tar.gz  ——第一种方法
[root@wyw /]# tar czf tmp.tar.gz $(find /tmp/ -type f) ——第二种方法
  • 2)排除文件,并打包压缩
1.排除单个文件
[root@wyw /]# tar czf etc.tar.gz --exclude=etc/services etc/
2.排除多个文件
[root@wyw /]# tar czf etc.tar.gz --exclude=etc/services --exclude=etc/rc.local etc/
3.将需要排除的文件写入文件中
[root@wyw /]# echo /etc/services etc/rc.local etc/rc.d/rc.local >>pc.list
[root@wyw /]# cat pc.list
/etc/services 
etc/rc.local 
etc/rc.d/rc.local
指定需要排除的文件列表,最后进行打包压缩
[root@wyw /]# tar czfX etc.tar.gz pc.list etc/
  • 3)查看压缩文件
查看压缩包内容和解压
[root@wyw /]# tar tf etc.tar.gz
  • 4)解压缩文件
1.解压至当前目录
[root@wyw /]# tar xf etc.tar.gz
2.将解压内容存储至指定的/tmp目录
[root@wyw ~]# tar xf /etc.tar.gz -C /tmp
  • 5)tar命令练习
下载mariadb-server,创建环境准备
[root@wyw tmp]# yum install mariadb-server -y
[root@wyw tmp]# systemctl start mariadb
[root@wyw tmp]# mkdir /backup
例1:mysql备份及恢复
[root@wyw tmp]# tar cJf /backup/myaql.tar.xz /var/lib/mysql
[root@wyw tmp]# tar xf /backup/myaql.tar.xz -C /tmp
例2:mysql备份及恢复
[root@wyw ~]# cd /var/lib/mysql/
[root@wyw mysql]# tar cJf /backup/myaql.tar.xz *
[root@wyw mysql]# tar tf /backup/myaql.tar.xz
[root@wyw mysql]# tar xf /backup/myaql.tar.xz -C /var/lib/mysql/

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