文件的压缩解压
压缩的好处主要有:
节省磁盘空间占用率
节省网络传输带宽消耗
网络传输更加快捷
常见的压缩包类型
格式 |
压缩工具 |
.zip |
zip压缩文件 |
.gz |
gzip压缩工具,只能压缩文件,会删除文件(配合tar) |
.bz2 |
bzip2压缩工具,只能压缩文件,会删除源文件(配合tar) |
.tar.gz |
先使用tar命令归档打包,然后使用gzip |
.tar.bz2 |
先使用tar命令归档打包,然后使用bzip |
gzip
## 压缩命令
语法:gzip 文件名
[root@localhost ~]# gzip file1
[root@moban ~]# ll
-rw-r--r--. 1 root root 4 Apr 18 14:03 1.txt
[root@moban ~]# gzip 1.txt
[root@moban ~]# ll
-rw-r--r--. 1 root root 30 Apr 18 14:03 1.txt.gz
[root@moban ~]# echo 1234 | gzip > 2.txt -------将 1234 写入2.txt这个gz压缩文件内
[root@moban ~]# cat 2.txt i¹ f3426}
[root@moban ~]# zcat 2.txt
1234
## 解压
-d 解压gz文件
[root@moban ~]# gzip -d 1.txt.gz
[root@moban ~]# ll
total 4
-rw-r--r--. 1 root root 4 Apr 18 14:03 1.txt
## 查看文件类型
file--
[root@moban ~]# file 2.txt ------ 不要被表象的结尾所迷惑
2.txt: gzip compressed data, from Unix, last modified: Thu Apr 18 14:10:49 2024
## 特点
1.压缩包后缀.gz
2.压缩后源文件不存在
3.压缩率很高
4.缺陷就是,不能压缩目录,不能压缩多个文件
5.解压后,压缩包不在了,源文件出来了
6.可以直接使用命令查看压缩包中文件的内容
zip
需要手动安装
[root@moban ~]# yum install -y zip
[root@moban ~]# yum install -y unzip
## 语法:
zip 包名 文件名...
## 压缩文件
可以使用绝对路径
[root@moban a]# zip /tmp/aaaaa.zip /root/2.xtx
[root@moban ~]# zip 1.txt.zip 1.txt
adding: 1.txt (stored 0%)
[root@moban ~]# zip 1.txt.zip 3.txt 2.txt ---- 可以同时压缩多个 会向里面追加
adding: 3.txt (stored 0%)
adding: 2.txt (stored 0%)
## 压缩目录
[root@moban ~]# mkdir -p ./aaa/bbb/ccc
[root@moban tmp]# unzip /root/aaa.zip ------ 没递归压缩
[root@moban tmp]# ll aaa
total 0
[root@moban ~]# zip -r aaa1.zip aaa -----r启用递归
adding: aaa/ (stored 0%)
adding: aaa/bbb/ (stored 0%)
adding: aaa/bbb/ccc/ (stored 0%)
## 查看zip压缩文件内有什么 unzip -l
[root@moban ~]# unzip -l aaa1.zip
Archive: aaa1.zip
Length Date Time Name
--------- ---------- ----- ----
0 04-18-2024 14:22 aaa/
0 04-18-2024 14:22 aaa/bbb/
0 04-18-2024 14:22 aaa/bbb/ccc/
--------- -------
## 解压 -------------------- 你在那个目录就解压到当前目录
[root@moban tmp]# cd /tmp
[root@moban tmp]# unzip /root/1.txt.zip
Archive: /root/1.txt.zip
extracting: 1.txt
extracting: 3.txt
extracting: 2.txt
[root@moban tmp]# ll
total 0
-rw-r--r--. 1 root root 0 Apr 18 14:15 1.txt
-rw-r--r--. 1 root root 0 Apr 18 14:15 2.txt
-rw-r--r--. 1 root root 0 Apr 18 14:15 3.txt
1.压缩包后缀.zip
2.压缩后源文件存在
3.压缩率很高
4.默认情况下不能压缩目录,能压缩多个文件,压缩目录需要选项
5.压缩时可以指定压缩包的路径
6.解压后,压缩包还在,源文件出来了
7.不可以直接使用命令查看压缩包中文件的内容
tar
选项(不需要带-) |
作用 |
c |
创建归档文件 |
f |
指定归档文件的包名 (不指定的话会给个字母加乱码) |
z |
使用gzip来压缩归档的文件,xf解压tar.gz包 |
x |
对归档文件进行解压 |
v |
显示过程 |
t |
查看压缩包中的所有文件和目录 |
x |
可以排除多个不想打包的文件,指定文件名 |
h |
打包软连接的源文件 |
|
|
J |
使用xz进行压缩归档的文件 |
p |
使用绝对路径 |
j |
使用bzip2压缩归档后的文件,xf解压tar.bz2包 |
--exclude |
排除不想要的文件 |
## tar命令本身只是一个归档命令
## 语法:
tar [选项] 包名 文件...
## 归档
[root@moban ~]# tar -cf xtx.tar 1.xtx 2.xtx 3.xtx 4.xtx 5.xtx
[root@moban ~]# ll
total 4
-rw-r--r--. 1 root root 0 Apr 18 14:39 1.xtx
-rw-r--r--. 1 root root 0 Apr 18 14:39 2.xtx
-rw-r--r--. 1 root root 0 Apr 18 14:39 3.xtx
-rw-r--r--. 1 root root 0 Apr 18 14:39 4.xtx
-rw-r--r--. 1 root root 0 Apr 18 14:39 5.xtx
-rw-r--r--. 1 root root 132 Apr 18 14:40 xtx.tar
# 可以指定路径进行归档
[root@moban ~]# tar -cf /tmp/aaaa.agz 1.xtx 2.xtx 3.xtx 4.xtx 5.xtx
[root@moban ~]# ll /tmp
total 16
-rw-r--r--. 1 root root 0 Apr 18 14:15 1.txt
-rw-r--r--. 1 root root 0 Apr 18 14:15 2.txt
-rw-r--r--. 1 root root 0 Apr 18 14:15 3.txt
drwxr-xr-x. 2 root root 6 Apr 18 14:22 aaa
-rw-r--r--. 1 root root 10240 Apr 18 14:49 aaaa.agz
-rw-r--r--. 1 root root 170 Apr 18 14:43 aaaaa.zip
## 压缩目录 ----------- -v可以显示过程
[root@moban ~]# tar -zcf a.agz a/
## 解压 再最后加上-C 指定解压目录
[root@moban ~]# tar xf a.agz
[root@moban ~]# tar xf a.agz -C /tmp
## 打包时排除不想要的文件
[root@localhost tmp]# tar zcf root2.tgz --exclude=file6 --exclude=file7 /root