14笔记---文件压缩

昨日内容

1.find文件查找的命令 
2.find通过哪些方式查找文件 名称 大小 类型 时间 用户 用户组 过滤内容 grep使用 
3.动作处理Action 
  列出结果 -print
  以长格式列出结果 -ls 
  删除查找的结果 -delete 
  执行command命令 
    -ok command \; #会提示 
    -exec command \; #可以执行任何shell命令 (效率不是太高)   
    | xargs commd 将find的结果作为参数传递给后面的命令

今日内容

1.什么是文件压缩?
  将多个文件或目录合并成为一个特殊的文件
2.为什么要对文件进行压缩
  减小文件的体积
  加快资源的传输
  节省网络的宽带
3.windows的压缩包与linux的压缩包能否互通
  windows:Rar zip 其实支持很多的类型
  linux:zip tar.gz...
  windows与linux互通  建议使用zip
4.linux 下压缩包邮那些常见的类型

压缩工具

.zip       #zip压缩工具(必须会使用)
.gz        #gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
.bz2       #压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
.tar.gz    #先使用tar命令归档打包,然后使用gzip压缩(必须会使用)
.tar.bz2   #先使用tar命令归档打包,然后使用bzip压缩(顺带学习)

5.linux gzip工具使用

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

[root@xuliangwei ~]# yum install gzip -y
[root@xuliangwei ~]# gzip file      #对文件进行压缩 
[root@xuliangwei ~]# zcat file.gz    #查看gz压缩后的文件 
[root@xuliangwei ~]# gzip -d file.gz #解压gzip的压缩包

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

6.linux zip 工具使用

# 默认情况下没有zip和unzip工具,需要进行安装
[root@xuliangwei ~]# yum install zip unzip -y

#1.压缩文件为zip包 
[root@xuliangwei ~]# zip  filename.zip  filename
[root@xuliangwei ~]# unzip  -l filename.zip   #查看包内容

#2.压缩目录为zip包 
[root@xuliangwei ~]# zip -r  dir.zip dir/

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

#4.不解压压缩查看压缩包中的内容
[root@xuliangwei ~]# unzip -l  filename.zip
[root@xuliangwei ~]# unzip -t  filename.zip  #检测文件是否都ok

#5.解压zip文件包, 默认解压至当前目录   
[root@xuliangwei ~]# unzip  filename.zip

#6.解压zip内容至/opt目录
[root@xuliangwei ~]# unzip filename.zip  -d /opt/

#打包 
zip -r /tmp/test.zip  file  dir/

#解包 
unzip tt.zip 
unzip tt.zip -d /opt

7.linux tar 工具使用

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

#语法: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.bz2格式
cJf      #打包tar.xz格式  使用较少,不考虑
zxf      #解压tar.gz格式
jxf      #解压tar.bz格式
--------------------------------------------------------------
czf      #打包tar.gz格式(*)
tf       #查看压缩包内容  tvf 显示详细过程,但是一般不使用
xf       #自动选择解压模式(*)

将文件或目录进行打包压缩

#打包
tar cf test.tar.gz  test/test2/   #以gzip方式压缩
tar cjf test.tar.bz2 dir.txt dir/ #以bz2方式压缩

#查看包内容
tar tf test.tar.gz
tar tf test.tar.bz2
tar tf test.tar.xz

 #解压
tar xf test.tar.gz
tar xf test.tar.bz2
tar xf test.tar.xz
tar xf root.tar.gz  -C /tmp/ #解压至指定目录

#打包/tmp下所有文件
find tmp/ -type f |xargs tar czf tmp.tar.gz
tar czf tmp.tar.gz $(find /tmp/ -type f)                  $()括号内的是一条命令的话,该命令优先被执行

#3.打包链接文件,打包链接文件的知识文件
[root@xuliangwei /]# tar czfh local.tar.gz etc/rc.local

#4.排除操作
tar czf etc.tar.gz /etc/ --exclude=etc/services
tar czf etc.tar.g /etc/-- exclude=etc/passwd --exclude=etc/shadow

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

[root@testedu opt]# tar czXf pc.txt etc.tar.gz  /etc/
删根是为了防止解包的过程中把原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

今日总结

1.什么是文件压缩
2.问什么要对文件压缩
3.windows的压缩包与linux的压缩包能否互通
4.linux 下压缩包邮那些常见的类型
压缩工具
.zip #zip压缩工具(必须会使用)
.gz #gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
.bz2 #压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
.tar.gz #先使用tar命令归档打包,然后使用gzip压缩(必须会使用)
.tar.bz2 #先使用tar命令归档打包,然后使用bzip压缩(顺带学习)

你可能感兴趣的:(14笔记---文件压缩)