基础篇

Linux学习

一、压缩打包介绍
二、gzip压缩工具
三、bzip2压缩工具 
四、xz压缩工具 

一、压缩打包介绍

  • Windows下:rar、zip、7z
  • Linux下:zip、gz、bz2、xz、tar.gz、tar.bz2、tar.xz
  • 压缩可以节省磁盘空间、节省网络传输带宽资源及传输速率;

二、gzip压缩工具

  • 压缩工具:gzip、bzip2、xz、zip、tar(打包和压缩)
  • gzip工具使用
  • 准备一个大的文件,进入/tmp下,创建d6z目录
  • find /etc -type f -name “*.conf” -exec cat {} >> 1.txt ;查找/etc目录下所有.conf文件查看并追加到当前目录下的1.txt文档内;
  • 文档不够大,多追加几次,查看大小:du -sh 1.txt

操作

[root@01 d6z]# find /etc -type f -name "*.conf" -exec cat {} >>a.txt \;
[root@01 d6z]# !d
du -sh a.txt 
8.0M    a.txt

压缩a.tx

[root@01 d6z]# du -sh a.txt 
8.0M    a.txt
[root@01 d6z]# wc -l a.txt 
148074 a.txt
[root@01 d6z]# gzip a.txt 
[root@01 d6z]# ls
a.txt.gz
[root@01 d6z]# du -sh a.txt.gz 
1.3M    a.txt.gz
[root@01 d6z]# 

解压缩a.txt.gz

[root@01 d6z]# gzip -d a.txt.gz 
[root@01 d6z]# ls
a.txt
[root@01 d6z]# du -sh a.txt 
5.3M    a.txt
[root@01 d6z]#
  • 压缩前为8M,压缩后为1.3M,解压缩后为5.3M,是因为追加之后的文件不是真实的空间,压缩、解压缩之后为真实大小;
  • gzip -1(1-9为压缩级别,默认为6,1级别为最不严谨的压缩,9为最严谨的压缩耗费CPU的资源最大)
  • 解压gzip加参数-d;
  • 查看压缩文件命令file a.txt.gz
  • 查看压缩文件内容zcat 1.txt.gz(先解压再查看)
  • 压缩后保存源文件命令:gzip -c a.txt > /tmp/a.txt.gz
  • 解压缩之后把原压缩文件保留命令: gzip -d -c /tmp/a.txt.gz > /tmp/d6z/b.txt
操作
root@01 d6z]# file a.txt.gz 
a.txt.gz: gzip compressed data, was "a.txt", from Unix, last modified: Mon Oct  8 09:11:11 2018
[root@01 d6z]# gzip -c a.txt > /tmp/d6z/12.txt.gz
[root@01 d6z]# ls
12.txt.gz  a.txt
[root@01 d6z]# gzip -c a.txt > /tmp/a.txt.gz
[root@01 d6z]# cd ..
[root@01 tmp]# ls
a.txt.gz
d6z
[root@01 d6z]# gzip -d -c a.txt.gz > /tmp/d6z/b.txt
[root@01 d6z]# ls
12.txt.gz  a.txt.gz  b.txt
[root@01 d6z]# 
  • 需要注意的是gzip不能压缩目录
  • gzip -d和gunzip命令相同

三、bzip2压缩工具

  • 相比gzip,bzip2压缩度更高,耗费cup资源更多
  • yum install -y bzip2命令安装bzip2工具
  • 解压缩bzip2命令:bzip2 -d或者bunzip2
  • 同样支持-c指定目录
  • bzip2默认压缩级别为9
  • file a.txt.bz2
  • 查看bz2压缩文件内容命令:bzcat a.txt.bz2
操作
[root@01 d6z]# ls
12.txt.gz  a.txt  b.txt
[root@01 d6z]# bzip2 a.txt 
[root@01 d6z]# ls
12.txt.gz  a.txt.bz2  b.txt
[root@01 d6z]# du -sh a.txt.bz2 
272K    a.txt.bz2
[root@01 d6z]# 

[root@01 d6z]# bzip2 -d a.txt.bz2 
[root@01 d6z]# ls
12.txt.gz  a.txt  b.txt
[root@01 d6z]# bzip2 a.txt 
[root@01 d6z]# bunzip2  a.txt.bz2 
[root@01 d6z]# ls
12.txt.gz  a.txt  b.txt
[root@01 d6z]# 

[root@01 d6z]# bzip2 -c a.txt > /tmp/a.txt.bz2
[root@01 d6z]# cd ..
[root@01 tmp]# ls
a.txt.bz2  systemd-private-99505fa1d8a142bcb15b1bed3abb5db6-chronyd.service-StvTiZ
a.txt.gz   systemd-private-99505fa1d8a142bcb15b1bed3abb5db6-vgauthd.service-kaRbPz
d6z        systemd-private-99505fa1d8a142bcb15b1bed3abb5db6-vmtoolsd.service-f5c5pa
[root@01 tmp]# 

[root@01 tmp]# file a.txt.bz2 
a.txt.bz2: bzip2 compressed data, block size = 900k
[root@01 tmp]# 

四、xz压缩工具

  • 和gzip、bzip2用法基本相同,不常用,主要用于打包压缩
  • 压缩度更高,同样有9个压缩级别
  • 查看要是内容:xzcat 1.txt.xz
  • xz同样不支持压缩目录
操作
[root@01 d6z]# xz a.txt 
[root@01 d6z]# ls
12.txt.gz  a.txt.xz  b.txt
[root@01 d6z]# du -sh a.txt.xz 
28K a.txt.xz
[root@01 d6z]# 


[root@01 d6z]# unxz a.txt.xz 
[root@01 d6z]# ls
12.txt.gz  a.txt  b.txt
[root@01 d6z]# xz a.txt 
[root@01 d6z]# xz -d a.txt.xz 
[root@01 d6z]# ls
12.txt.gz  a.txt  b.txt
[root@01 d6z]# xz -c a.txt > /tmp/a.txt.xz
[root@01 d6z]# cd ..
[root@01 tmp]# ls
a.txt.bz2  systemd-private-99505fa1d8a142bcb15b1bed3abb5db6-chronyd.service-StvTiZ
a.txt.gz   systemd-private-99505fa1d8a142bcb15b1bed3abb5db6-vgauthd.service-kaRbPz
a.txt.xz   systemd-private-99505fa1d8a142bcb15b1bed3abb5db6-vmtoolsd.service-f5c5pa
d6z

[root@01 d6z]# file a.txt.xz 
a.txt.xz: XZ compressed data
[root@01 d6z]# 

你可能感兴趣的:(基础篇)