第六章 文件压缩和打包
6.1 压缩打包介绍
6.2 gzip压缩工具
6.3 bzip2压缩工具
6.4 xz压缩工具
6.5 zip压缩工具
6.6 tar打包
6.7 打包并压缩
6.8课堂笔记
6.1 压缩打包介绍
压缩文件类型
.zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz
6.2 gzip压缩 #(不能压缩目录)
gzip压缩工具(
.gz)
压缩
gzip -(压缩级别1~9) 文件名
#
压缩级别默认6 ,级别越高,压缩越狠,耗费CPU资源越大
#压缩到一定程度无法再进一步压缩,因为已达到压缩极限
[root@localhost d6z]#
gzip 1.txt
[root@localhost d6z]#
ls
1.txt.gz
gzip -c 文件名 > 目标目录
#压缩该文件到目标目录,且文件不消失,保留在原目录
# 文件命名后面要带上压缩文件类型(例:/tmp/d6z/1.txt.gz)
[root@localhost d6z]#
gzip -c 1.txt > /tmp/d6z/1.txt.gz
[root@localhost d6z]#
ls
1.txt 1.txt.gz
解压
gzip -d 文件名 #解压文件包消失
gunzip 文件名 #解压文件包消失
[root@localhost d6z]#
ls
1.txt.gz
[root@localhost d6z]#
gzip -d 1.txt.gz
[root@localhost d6z]#
ls
1.txt
[root@localhost d6z]#
gzip 1.txt
[root@localhost d6z]#
ls
1.txt.gz
[root@localhost d6z]#
gunzip 1.txt.gz
[root@localhost d6z]#
ls
1.txt
gzip -d -c 文件 > 目标目录 #解压该文件包到目标目录,且包不消失,保留在原目录
[root@localhost d6z]#
gzip -d -c 1.txt.gz > /tmp/d6z/2.txt
[root@localhost d6z]#
ls
1.txt 1.txt.gz 2.txt
查看
zcat 文件包 #查看压缩包内容
file 文件/包 #查看文件格式,大小等
[root@localhost d6z]#
file 1.txt
1.txt: UTF-8 Unicode text, with very long lines
[root@localhost d6z]#
file 1.txt.gz
1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Thu Aug 2 19:35:23 2018
du -sh 文件 #查看大小
wc -l 文件 #查看行数
#将一个文件先压缩后再解压会发现内存显示变小了,但文件内容却不变,这是因为压缩文件会把文件里边的空隙挤压掉
6.3 bzip2压缩工具 #(不能压缩目录)
bzip2压缩工具 (
.bz2)
yum install -y bzip2 #安装bzip2命令包
#与 gzip用法几乎一样
bzip2 -(压缩级别1~9) 文件
[root@localhost d6z]#
ls
1.txt 1.txt.gz 2.txt
[root@localhost d6z]#
bzip2 1.txt
[root@localhost d6z]#
ls
1.txt.bz2 1.txt.gz 2.txt
bzip2 -c 文件名 > 目标目录 #压缩该文件到目标目录,且文件不消失,保留在原目录
[root@localhost d6z]#
bzip2 -c 1.txt > /tmp/d6z/1.txt.bz2
[root@localhost d6z]#
ls
1.txt 1.txt.bz2 2.txt
解压
bzip2 -d 文件名 #解压文件包消失
[root@localhost d6z]#
bzip2 -d 1.txt.bz2
[root@localhost d6z]#
ls
1.txt 1.txt.gz 2.txt
bunzip2 文件名 #解压文件包消失
[root@localhost d6z]#
bunzip2 1.txt.bz2
[root@localhost d6z]# ls
1.txt 2.txt 3.txt
bzip2 -d -c 文件 > 目标目录 #解压该文件包到目标目录,且包不消失,保留在原目录
[root@localhost d6z]#
bzip2 -d -c 1.txt.bz2 > /tmp/d6z/3.txt
[root@localhost d6z]# ls
1.txt 1.txt.bz2 2.txt 3.txt
#bzcat 包名 查看包内容
#bzip2压缩的比gzip更狠
6.4 xz压缩工具 #(不能压缩目录)
xz压缩工具(
.xz)
#与 gzip用法几乎一样
#xz压缩的比bzip2更狠
压缩
xz 文件
xz -z 文件
[root@localhost d6z]#
xz 1.txt
[root@localhost d6z]#
xz -z 2.txt
[root@localhost d6z]#
ls
1.txt.xz 2.txt.xz 3.txt.bz2
xz -c 文件名 > 目标目录 #压缩该文件到目标目录,且文件不消失,保留在原目录
[root@localhost d6z]#
xz -c 1.txt > /tmp/d6z
-bash: /tmp/d6z: 是一个目录
[root@localhost d6z]#
xz -c 1.txt > /tmp/d6z/4.txt.xz
[root@localhost d6z]#
ls
1.txt 2.txt 3.txt.bz2 4.txt.xz
解压
xz -d 文件包 #解压文件包消失
unxz 文件包 #解压文件包消失
[root@localhost d6z]#
xz -d 1.txt.xz
[root@localhost d6z]#
unxz 2.txt.xz
[root@localhost d6z]#
ls
1.txt 2.txt 3.txt.bz2
xz -d -c 文件 > 目标目录 #解压该文件包到目标目录,且包不消失,保留在原目录
[root@localhost d6z]#
xz -d -c 4.txt.xz > /tmp/d6z/4.txt
[root@localhost d6z]#
ls
1.txt 2.txt 3.txt.bz2 4.txt 4.txt.xz
#xzcat 文件包 #查看包
#一般解压文件消失
6.5 zip压缩工具
zip压缩工具(.zip) #(能压缩目录)
yum install -y zip #安装
yum install -y unzip #安装
zip 压缩包命名 文件 #压缩完文件不消失
[root@localhost d6z]#
zip 1.txt.zip 1.txt
adding: 1.txt (deflated 75%)
[root@localhost d6z]#
ls
123 1.txt 1.txt.zip 2.txt 3.txt.bz2 xin
zip -r 压缩包命名 目录 #压缩目录(可加文件一起压缩)
[root@localhost d6z]#
zip -r 123.zip 123
adding: 123/ (stored 0%)
[root@localhost d6z]#
ls
123 123.zip 1.txt 1.txt.zip 2.txt 3.txt.bz2 xin
[root@localhost d6z]#
zip -r xin.zip xin 2.txt 3.txt.bz2
adding: xin/ (stored 0%)
adding: 2.txt (deflated 75%)
adding: 3.txt.bz2 (deflated 3%)
[root@localhost d6z]#
ls
123 123.zip 1.txt 1.txt.zip 2.txt 3.txt.bz2 xin xin.zip
unzip 文件包 #解压 会询问是否覆盖/替换
[root@localhost d6z]#
unzip 1.txt.zip
Archive: 1.txt.zip
replace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: 1.txt
unzip 文件包 -d 目标目录 #指定解压目标目录(不能改名字,压缩前是什么名字,压缩后不变)
[root@localhost d6z]#
unzip xin.zip -d .
Archive: xin.zip
replace ./xin/2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: ./xin/2.txt
inflating: ./xin/1.txt
查看包
unzip -l 文件包
[root@localhost d6z]#
unzip -l 1.txt.zip
Archive: 1.txt.zip
Length Date Time Name
--------- ---------- ----- ----
2141470 08-02-2018 20:12 1.txt
--------- -------
2141470 1 file
[root@localhost d6z]#
unzip -l xin.zip
Archive: xin.zip
Length Date Time Name
--------- ---------- ----- ----
0 08-03-2018 19:47 xin/
1499029 08-02-2018 19:50 2.txt
205002 08-02-2018 20:13 3.txt.bz2
--------- -------
1704031 3 files
6.6 tar打包
tar打包工具
tar -cvf 文件包 文件/目录 #打包
[root@localhost d6z]#
tar -cvf xin3.tar xin3
xin3/
xin3/2/
xin3/xin/
xin3/xin/1.txt.bak
xin3/xin/2.txt.bak
xin3/xinalinux/
xin3/xinalinux/1/
xin3/xinalinux/1/2.txt
xin3/xinalinux/1/6890jj.sh
xin3/xinalinux/1.txt
xin3/xinalinux/1.tttx
tar -cvf 文件包 文件 目录 #可以文件和目录一起打包 (文件、目录不消失)
[root@localhost d6z]#
tar -cvf xin3.tar xin3 123 1.txt.zip
xin3/
xin3/2/
xin3/xin/
xin3/xin/1.txt.bak
xin3/xin/2.txt.bak
xin3/xinalinux/
xin3/xinalinux/1/
xin3/xinalinux/1/2.txt
xin3/xinalinux/1/6890jj.sh
xin3/xinalinux/1.txt
xin3/xinalinux/1.tttx
123/
1.txt.zip
tar -xvf 文件包 #解包,跳过询问,直接覆盖原来的文件(包不消失)
tar -tf 文件包 #查看包
[root@localhost d6z]#
tar -tf xin3.tar
xin3/
xin3/2/
xin3/xin/
xin3/xin/1.txt.bak
xin3/xin/2.txt.bak
xin3/xinalinux/
xin3/xinalinux/1/
xin3/xinalinux/1/2.txt
xin3/xinalinux/1/6890jj.sh
xin3/xinalinux/1.txt
xin3/xinalinux/1.tttx
123/
1.txt.zip
tar -cvf 文件包 --exclude “*.txt” --exclude 123 xin3 xin.zip
#过滤*.txt和123,将xin3目录和xin.zip打包
#--exclude “*.txt” #过滤后缀为.txt的所有文件
[root@localhost d6z]#
tar -cvf xinlinux.tar --exclude "*.txt" --exclude 123 xin3 xin.zip
xin3/
xin3/2/
xin3/xin/
xin3/xin/1.txt.bak
xin3/xin/2.txt.bak
xin3/xinalinux/
xin3/xinalinux/1/
xin3/xinalinux/1/6890jj.sh
xin3/xinalinux/1.tttx
xin.zip
6.7 打包并压缩
tar打包并压缩
.gz压缩包(zcvf、zxvf)
tar -zcvf 123.tar.gz 123 #将123打包并压缩为123.tar.gz
tar -zxvf 123.tar.gz #解包
.bz2压缩包(jcvf、jxvf)
tar -jcvf 123.tar.bz2 123 #将123打包并压缩为123.tar.bz2
tar -jxvf 123.tar.bz2 #解包
.xz压缩包(Jcvf、Jxvf)
tar -Jcvf 123.tar.xz 123 #将123打包并压缩为123.tar.xz
tar -Jxvf 123.tar.xz #解包
tar -tf 123.tar.bz2 / tar -tf 123.tar.gz / tar -tf 123.tar.xz
#三种包都支持tar -tf 查看tar包
6.8课堂笔记
#tar打包没有压缩功能,只是把目录文件合并到一起
#gzip,bzip2,xz都不能压缩目录,zip可以压缩目录
# -c 表示创建新文件,所以需要命名文件
tar打包
-c表示建立一个tar包或者压缩文件包
-f 后面加文件名 ,所以要写在最后面
-v表示可视化
-z 表示gzip压缩
-j表示bzip2压缩
-J表示xz压缩
-x表示解压
-C表示解压到指定目录(不用时默认指定到当前目录)
补充1:/etc/fstab文件注释
第一列:块设备
第二列:挂载点
第三列:文件类型
第四列:挂载选项(默认defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser和 async)
第五列:是否备份,0不备份,1每天备份,2不定期备份
第六列:检验扇区 ,0不检验,1最先检验,21检验完后在检验
补充2:NAS、DAS、SAN最根本区别
NAS上面有文件系统
DAS、SAN 没有文件系统
补充3:raid知识(磁盘阵列)
raid总容量=以最小的为根基乘以磁盘数量
性能高,相对安全性低,成反比例
1. n代表硬盘总数
2. JBOD可接到现有硬盘,直接增加容量