Linux运维

day14-压缩和解压缩-笔记

2019-08-13  本文已影响0人  一条小强强OvO

Day14-压缩和解压缩gzip,zip,tar


导读

  • 昨日回顾
    • 1.find文件查找的命令
    • 2.find通过哪些方式查找文件
    • 3.find动作处理Action
  • 今日内容
    • 1.什么是文件的压缩
    • 2.为什么要对文件进行压缩
    • 3.Windows能否与Linux压缩包互通
    • 4.Linux下压缩包有哪些常见的类型
    • 5.gzip工具使用
    • 6.zip工具使用
    • 7.tar工具使用

昨日回顾

find文件查找的命令

find [path] [options] [expression] [action]
查找   路径     选项        表达式       动作

find通过哪些方式查找文件

名称 -name
大小 -size
类型 -type
时间 -mtime
用户 -user
用户组 -group
过滤内容 grep使用

find动作处理Action

列出结果
以长格式列出结果
删除查找的结果
执行command命令
    -ok command \;      #会提示
    -exec command \;    #可以执行任何shell命令(效率不是太高)
    |xargs command      #将find的结果作为参数传递给后面的命令

今日内容

什么是文件的压缩

将多个文件或目录合并为一个特殊的文件

为什么要对文件进行压缩

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

Windows能否与Linux压缩包互通

Windows:rar zip     其实支持很多类型的压缩
Linux:zip tar.gz
Windows与Linux互通建议使用:zip

Linux下压缩包有哪些常见的类型

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

gzip工具使用

gzip打包与压缩(仅支持文件打包)
[root@oldboy ~]# yum install gzip -y
[root@oldboy ~]# gzip filename 打包
[root@oldboy ~]# gzip -d filename.gz 解包
[root@oldboy ~]# zcat filename.gz 查看包内文件内容
-----------------------------------------------------
使用场景:当需要让某个文件快速关闭和快速启用.

zip工具使用

#默认没有zip和unzip工具,需要进行安装
[root@oldboy ~]# yum install zip unzip -y
#压缩文件为zip包
[root@oldboy ~]# zip filename.zip filename 打包
[root@oldboy ~]# unzip -l filename.zip  查看包的内容
#压缩目录为zip包
[root@oldboy ~]# zip -r /opt/etc.zip /etc/ 递归打包
#查看zip压缩包是否是完整的
[root@oldboy ~]# zip -T filename.zip
[root@oldboy ~]# zip -t filename.zip  #检测文件是否都ok
#解压zip文件包,默认解压至当前目录
[root@oldboy ~]# unzip filename.zip 解包
#解压zip内容至指定目录
 -d 指定目录
[root@oldboy ~]# unzip filename.zip -d /tmp 解包到指定目录

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  #在打包的时候写入需要排除文件或目录

#常用打包与压缩组合
czf  #打包tar.gz格式  使用最多
xf   #自动选择解压模式
tf   #查看压缩包内容

cjf  #打包tar.bz格式
cJf  #打包tar.xz格式    使用太少,不考虑

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

#打包
[root@oldboy ~]# tar czf /opt/test.tar.gz /etc  gzip方式压缩
[root@oldboy ~]# tar cjf /opt/test.tar.bz2 /etc  bz2方式压缩
#查看包内容
[root@oldboy ~]# tar tf test.tar.gz  查看包内容
#解包
[root@oldboy ~]# tar xf test.tar.gz  智能解包
[root@oldboy ~]# 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)
#打包链接文件,打包链接文件的真实文件
[root@oldboy ~]# tar czhf /opt/test.tar.gz /bin  打包软连接的真实文件
#排除操作
[root@oldboy ~]# tar czf etc.tar.gz /etc/ --exclude=etc/passwd
[root@oldboy ~]# tar czf etc.tar.gz /etc/ --exclude=etc/passwd --exclude=etc/shadow
#将需要排除的文件写入文件中
[root@oldboy ~]# cat pc.txt
etc/gshadow
etc/gshadow-
etc/passwd
etc/passwd-
etc/shadow-
etc/shadow
etc/security/opasswd
etc/pam.d/passwd
[root@oldboy ~]# tar czXf pc.txt etc.tar.gz /etc/
上一篇 下一篇

猜你喜欢

热点阅读