day14-文件压缩

昨日内容

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下压缩包有哪些常见的类型
image.png
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.bz格式 
cJf     #打包tar.xz格式   使用较少,不考虑
zxf     #解压tar.gz格式
1.将文件或目录进行打包压缩
jxf     #解压tar.bz格式
--------------------------------------
czf     #打包tar.gz格式    (*) 
tf      #查看压缩包内容 
xf      #自动选择解压模式  (*)
1.将文件或目录进行打包压缩
打包 
tar czf  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.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow

5.将需要排除的文件写入文件中 
[root@oldboyedu opt]# cat pc.txt 
etc/gshadow 
etc/gshadow
etc/passwd 
etc/passwd
etc/shadow
etc/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-文件压缩)