Day-15-Linux 文件的压缩

一、什么是文件压缩

  • 定义:将多个文件或者目录合并打包为一个特殊的文件

二、文件压缩的意义

  • 压缩使 文件按照百分比减小
  • 提高文件的传输速率
  • 节省网络资源(宽带)

三、Windows和Linux压缩包类型相同和不同

1)不同点

  • Windows一般是zip和rar
  • Linux一般使用:zip、tar.gz

2)相同点

  • 相互通用的的压缩有:zip ,一般Linux中压缩的可以在Windows中打开

1、Linux中常见的压缩类型

格式 压缩工具及运用
.zip zip压缩工具,压缩后不会删除原文件。
.gz gzip压缩工具,只能压缩文件,压缩后会删除原文件,(通常配合tar使用)
.bz2 bzip2压缩工具,只能压缩文件,压缩后会删除原文件
.tar.gz 先使用tar命令归档打包,然后使用gzip压缩
.tar.gz2 先使用tar命令归档打包,然后使用gzip压缩

2、gzip的压缩方式——只能对文件压缩并删除原文件

1)查看压缩后的文件:zcat

2)gzip -d 解压压缩包

3)使用场景

  • 当需要让某个文件在系统中不生效时,我们可以用gzip将其压缩。
1、对文件进行压缩
[root@oldboy ~]# gzip cuixinpeng.txt     
[root@oldboy ~]# ls
cuixinpeng.txt.gz 

2、查看压缩包的文件 zcat 
[root@oldboy ~]# zcat cuixinpeng.txt.gz 

3、解压压缩包  
[root@oldboy ~]# gzip -d cuixinpeng.txt.gz 
[root@oldboy ~]# ls
cuixinpeng.txt

2、zip的压缩方式——不会删除原文件

1)使用方法:zip + 压缩包名称(.zip) + 压缩的文件

2)zip压缩包的递归参数: -r (打包目录)

3)unzip解压, -d 指定解压到哪个目录

unzip +解压包 + -d +解压到的哪个目录

4)-T 查看zip压缩包是否是完整的 (zip + -T + 压缩包)

5)-l 不解压压缩查看压缩包中的内容(unzip + -l + 压缩包)

6)-t 检测压缩的文件是否都ok (unzip + -t + 压缩包)

1、用zip压缩文件
[root@oldboy ~]# zip cui.zip cuixinpeng.txt 
  adding: cuixinpeng.txt (stored 0%)
[root@oldboy ~]# ls
cuixinpeng.txt  cui.zip 

2、利用  -r  递归将目录下面的文件一并打包压缩
[root@oldboy ~]# zip -r heh.zip /var/log/
  adding: var/log/ (stored 0%)
  adding: var/log/tallylog (stored 0%)
  adding: var/log/audit/ (stored 0%)
  adding: var/log/vmware-vgauthsvc.log.0 (deflated 93%)
  adding: var/log/vmware-vmsvc.log (deflated 90%)
  adding: var/log/firewalld (stored 0%)
  adding: var/log/yum.log (deflated 62%)
  adding: var/log/vmware-network.6.log (deflated 64%)
[root@oldboy ~]# ls
heh.zip

3、用unzip解压压缩包 unzip
[root@oldboy ~]# unzip heh.zip 
[root@oldboy ~]# ls
heh.zip  var

4、unzip -d解压到指定的路径
[root@oldboy ~]# unzip heh.zip -d /tmp/
[root@oldboy ~]# ls /tmp/var/log/

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

6、不解压压缩查看压缩包中的内容
[root@oldboy ~]#  unzip -l heh.zip

7、检测文件是否都ok   
[root@oldboy ~]#  unzip -t  heh.zip

  • 解压时注意:解压时有可能会覆盖已经有的文件,所以尽可能找一个空的目录解压,然后移动到指定目录

3、tar.gz格式压缩包——tar打包,gzip进行压缩

1)参数:

符号 含义
c 创建新的文件归档
x 对归档的文件进行解包
t 列出归档文件中的文件列表
v 输出命令的归档或者解包过程
f 指定包文件名,多参数f写最后
z 使用gzip压缩归档文件(文件类型为 .tar.gz)
j 使用bzip2压缩归档后的文件(文件类型为 .tar.bz2)
J 使用xz压缩归档后的文件(文件类型为 tar.xz)
C 指定解压到目录位置
X 排除多个文件(写入需要排除的文件名称)
h 打包时将软链接 同时打包
--exclude 在打包的时候写入需要排除文件或目录

2)常用的压缩包类型

符号 含义
czf 打包tar.gz格式
tf 查看压缩包内容
xf 自动选择解压模式
很少用到的类型
cjf     打包tar.bz格式 
zxf     解压tar.gz格式
jxf     解压tar.bz格式
cJf     打包tar.xz格式  

3)应用

1、利用以 gzip 方式压缩 和以 bz2 方式压缩
[root@oldboy ~]# tar czf wode.tar.gz cui.txt var/
[root@oldboy ~]# tar cjf  wode.tar.bz2 cui.txt var/
[root@oldboy ~]# ls
cui.txt  heh.zip  var  wode.tar.gz     wode.tar.bz2

2、查看压缩的文件
[root@oldboy ~]# tar tf wode.tar.gz 
cui.txt
var/
var/log/
var/log/tallylog
var/log/grubby_prune_debug
var/log/lastlog
var/log/wtmp
var/log/btmp

3、解压压缩的文件
[root@oldboy ~]# tar xf wode.tar.gz 

4、解压压缩包至指定目录
[root@oldboy ~]# tar xf wode.tar.gz   -C /tmp/   

4)压缩文件或者目录时排除部分文件,命令:--exclude

1、利用--exclude排除
[root@oldboy ~]#  tar czf etc.tar.gz /etc/ --exclude=etc/services 
[root@oldboy ~]#  tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow

2、将需要排除的文件写入文件中,然后排除
[root@oldboy ~]#  vim pc.txt 
etc/gshadow 
etc/gshadow
etc/passwd 
etc/passwd
etc/shadow
etc/shadow 
etc/security/opasswd 
etc/pam.d/passwd 

[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/

5)例题:文件的备份和恢复

1.环境准备 
[root@oldboy ~]#  yum install mariadb-server 
[root@oldboy ~]#  systemctl start mariadb 
[root@oldboy ~]#  mkdir /backup

例1.mysql备份及恢复 
[root@oldboy ~]#  tar cJf /backup/mysql.tar.xz /var/lib/mysql 
[root@oldboy ~]#  tar xf /backup/mysql.tar.xz -C /

例2 mysql备份及恢复
[root@oldboy ~]#  cd /var/lib/mysql 
[root@oldboy mysql]# tar cJf /backup/mysql.tar.xz * 
[root@oldboy mysql]# tar tf /backup/mysql.tar.xz
[root@oldboy mysql]# tar xf /backup/mysql.tar.xz C /var/lib/mysql

总结

今天主要学习了文件的怎样压缩,以及压缩的不同方式,我们在不同的环境与条件下选择不同的压缩方式。学了很多关于压缩的参数与选项。最后还学了一个怎样备份恢复文件。

Linux中如何压缩解压文件.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容