zip格式是Windows下最常用的,不过Linux也可以识别
命令名称:zip
英文原意:package and compress(archive) files
所在路径:/usr/bin/zip
执行权限:所有用户
功能描述:压缩文件或目录; [ 打包和压缩(存档)文件 ]
命令格式
zip [选项] 压缩包名 源文件或源目录
选项:
-r:压缩目录
案例演示:
压缩文件
[root@localhost yichen]# touch a.txt
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 15:44 a.txt
[root@localhost yichen]# zip a.zip a.txt
adding: a.txt (stored 0%)
[root@localhost yichen]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 15:44 a.txt
-rw-r--r--. 1 root root 160 Sep 6 15:44 a.zip
[root@localhost yichen]#
压缩目录
[root@localhost yichen]# mkdir eichi
[root@localhost yichen]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 15:44 a.txt
-rw-r--r--. 1 root root 160 Sep 6 15:44 a.zip
drwxr-xr-x. 2 root root 6 Sep 6 15:45 eichi
[root@localhost yichen]# zip eichi.zip eichi/
adding: eichi/ (stored 0%)
[root@localhost yichen]# ll
total 8
-rw-r--r--. 1 root root 0 Sep 6 15:44 a.txt
-rw-r--r--. 1 root root 160 Sep 6 15:44 a.zip
drwxr-xr-x. 2 root root 6 Sep 6 15:45 eichi
-rw-r--r--. 1 root root 162 Sep 6 15:45 eichi.zip
[root@localhost yichen]#
zip格式的解压命令是unzip
命令名称:unzip
英文原意:list,test and extract compressed files in a ZIP archive
所在路径:/usr/bin/unzip
执行权限:所有用户
功能描述:[在压缩文件中列出、测试和提取压缩文件]
命令格式:
unzip [选项] 压缩包名
选项:
-d : 指定压缩位置
案例演示:
正常压缩
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 160 Sep 6 15:55 a.zip
[root@localhost eichi]# unzip a.zip
Archive: a.zip
extracting: a.txt
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 15:55 a.txt
-rw-r--r--. 1 root root 160 Sep 6 15:55 a.zip
指定压缩位置
[root@localhost eichi]# mkdir yichen
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 15:55 a.txt
-rw-r--r--. 1 root root 160 Sep 6 15:55 a.zip
drwxr-xr-x. 2 root root 6 Sep 6 15:59 yichen
[root@localhost eichi]# unzip -d /eichi/yichen/ a.zip
Archive: a.zip
extracting: /eichi/yichen/a.txt
[root@localhost eichi]# cd yichen
[root@localhost yichen]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 15:55 a.txt
注意:此格式是不会打包的,使用的是gzip进行压缩
”.gz“格式是Linux中最常用的压缩命令,使用的是gzip命令进行压缩
命令名称:gzip
英文原意:compressed or expand files
路径:/bin/gzip
执行权限:所有用户
功能描述: 压缩文件或目录,[压缩或扩展文件]
命令格式
gzip [选项] 源文件
选项:
-c 将压缩数据输出到标准输出中,可以用于保留源文件
-d 解压缩
-r 压缩目录
案例演示:
正常压缩会删除源文件
[root@localhost eichi]# touch b.txt
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 16:11 b.txt
[root@localhost eichi]# gzip b.txt
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 26 Sep 6 16:11 b.txt.gz
使用-c选项,不让压缩数据输出到屏幕上,而是重定向到压缩文件中,这样压缩时就不会删除源文件
[root@localhost eichi]# touch a.txt
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 16:12 a.txt
[root@localhost eichi]# gzip -c a.txt > z.txt.gz
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 16:12 a.txt
-rw-r--r--. 1 root root 26 Sep 6 16:12 z.txt.gz
压缩目录
[root@localhost eichi]# mkdir yichen
[root@localhost eichi]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 6 16:15 yichen
[root@localhost eichi]# gzip -r -d yichen > yichen.gz
[root@localhost eichi]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 6 16:15 yichen
-rw-r--r--. 1 root root 0 Sep 6 16:17 yichen.gz
可以使用gzip -d 或gunzip 来对gz文件进行解压
命令名称:gunzip
英文原意:compressed or expand files
路径:/bin/gunzip
执行权限:所有用户
功能描述: 解压文件或目录,[压缩或扩展文件]
案例演示:
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 22 Sep 6 16:20 a.gz
-rw-r--r--. 1 root root 22 Sep 6 16:20 b.gz
[root@localhost eichi]# gzip -d a.gz
[root@localhost eichi]# gunzip b.gz
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 16:20 a
-rw-r--r--. 1 root root 0 Sep 6 16:20 b
是Linux的另一种压缩格式,此格式的算法更加先进,压缩比更好,但是.gz格式的压缩时间更快
命令名称:bzip2
英文原意:a block-sorting file compressor
路径:/usr/bin/bzip2
执行权限:所有用户
功能描述: [块排序文件压缩程序 ]
命令格式
[root@localhost ~]#bzip2 [选项] 源文件
选项∶
-d 解压缩
-k 压缩时,保留源文件
-v 显示压缩的详细信息
案例演示:
默认打包,不保留源文件
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 16:20 a
-rw-r--r--. 1 root root 0 Sep 6 16:20 b
[root@localhost eichi]# bzip2 a
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 14 Sep 6 16:20 a.bz2
-rw-r--r--. 1 root root 0 Sep 6 16:20 b
保留源文件
[root@localhost eichi]# bzip2 -k b
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep 6 16:20 a.bz2
-rw-r--r--. 1 root root 0 Sep 6 16:20 b
-rw-r--r--. 1 root root 14 Sep 6 16:20 b.bz2
显示压缩时的详细信息
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep 6 16:20 a.bz2
-rw-r--r--. 1 root root 19 Sep 6 16:28 b
[root@localhost eichi]#
[root@localhost eichi]#
[root@localhost eichi]#
[root@localhost eichi]#
[root@localhost eichi]# gzip -v b
b: -10.5% -- replaced with b.gz
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep 6 16:20 a.bz2
-rw-r--r--. 1 root root 41 Sep 6 16:28 b.gz
可以使用bzip2 -d 或bunzip2来对bz2文件进行解压
命令名称:bunzip
英文原意:a block-sorting file compressor
路径:/usr/bin/bunzip2
执行权限:所有用户
功能描述: 解压文件或目录,[压缩或扩展文件]
案例演示:
两种bzip2格式的解压演示
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 14 Sep 6 16:20 a.bz2
-rw-r--r--. 1 root root 57 Sep 6 16:28 b.bz2
[root@localhost eichi]#
[root@localhost eichi]#
[root@localhost eichi]#
[root@localhost eichi]#
[root@localhost eichi]# bzip2 -d a.bz2
[root@localhost eichi]# bunzip2 b.bz2
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 16:20 a
-rw-r--r--. 1 root root 19 Sep 6 16:28 b
注意:tar是打包不会压缩的
tar既可以打包,又可以解打包,只是选项不同
命令名称:tar
英文原意:tar
路径:/bin/tar
执行权限:所有用户
功能描述: 解包与解打包命令
命令格式
tar [选项] [-f 压缩包名] 源文件或目录
选项:
-c 打包
-f 指定压缩包的文件名;压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名
-v 显示打包文件过程
案例演示:
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 16:20 a
-rw-r--r--. 1 root root 19 Sep 6 16:28 b
[root@localhost eichi]# tar -cvf a.tar a
a
[root@localhost eichi]# ll
total 16
-rw-r--r--. 1 root root 0 Sep 6 16:20 a
-rw-r--r--. 1 root root 10240 Sep 6 16:43 a.tar
-rw-r--r--. 1 root root 19 Sep 6 16:28 b
".tar"格式的解打包用的也是tar命令,不过选项不一样
tar [选项] 压缩包
选项:
-x 解打包
-f 指定压缩包的文件名
-v 显示解打包文件过程
-t 测试,就是不解打包,只是查看包中有哪些文件
-C 目录:指定解打包位置
案例演示:
[root@localhost eichi]# ll
total 24
-rw-r--r--. 1 root root 10240 Sep 6 16:43 a.tar
-rw-r--r--. 1 root root 10240 Sep 6 16:55 b.tar
[root@localhost eichi]# tar -xvf a.tar
a
[root@localhost eichi]# tar -xvf b.tar
b
[root@localhost eichi]# ll
total 28
-rw-r--r--. 1 root root 0 Sep 6 16:20 a
-rw-r--r--. 1 root root 10240 Sep 6 16:43 a.tar
-rw-r--r--. 1 root root 19 Sep 6 16:28 b
-rw-r--r--. 1 root root 10240 Sep 6 16:55 b.tar
由于".gz"、".bz2"格式不能打包,".tar"格式不能压缩;所以将二者结合一下,就产生了以下的格式
使用tar直接进行打包压缩,选项不同而已
tar [选项] 压缩包源文件或目录
选项:
-z 压缩和解压缩".tar.gz"格式
-j 压缩和解压缩".tar.bz2"格式
案例演示1
打包压缩 tar.gz格式
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 17:07 a
-rw-r--r--. 1 root root 0 Sep 6 17:07 b
[root@localhost eichi]# tar -zcvf a.tar.gz a
a
打包压缩 tar.bz2格式
[root@localhost eichi]# tar -jcvf b.tar.bz2 b
b
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 0 Sep 6 17:07 a
-rw-r--r--. 1 root root 101 Sep 6 17:08 a.tar.gz
-rw-r--r--. 1 root root 0 Sep 6 17:07 b
-rw-r--r--. 1 root root 108 Sep 6 17:10 b.tar.bz2
解打包,解压缩tar.gz格式
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 101 Sep 6 17:08 a.tar.gz
-rw-r--r--. 1 root root 108 Sep 6 17:10 b.tar.bz2
[root@localhost eichi]# tar -zxvf a.tar.gz
a
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 0 Sep 6 17:07 a
-rw-r--r--. 1 root root 101 Sep 6 17:08 a.tar.gz
-rw-r--r--. 1 root root 108 Sep 6 17:10 b.tar.bz2
解打包,解压缩tar.bz2格式
[root@localhost eichi]# tar -jxvf b.tar.bz2
b
[root@localhost eichi]# ll
total 8
-rw-r--r--. 1 root root 0 Sep 6 17:07 a
-rw-r--r--. 1 root root 101 Sep 6 17:08 a.tar.gz
-rw-r--r--. 1 root root 0 Sep 6 17:07 b
-rw-r--r--. 1 root root 108 Sep 6 17:10 b.tar.bz2
[root@localhost eichi]#
案例演示2
[root@localhost eichi]# touch {a..d}
#在eichi下创建a,b,c,d四个文件
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 17:24 a
-rw-r--r--. 1 root root 0 Sep 6 17:24 b
-rw-r--r--. 1 root root 0 Sep 6 17:24 c
-rw-r--r--. 1 root root 0 Sep 6 17:24 d
[root@localhost ~]# tar -zcvf eichi.tar.gz eichi/
#将四个文件打包并压缩为.tar.gz格式
eichi/
eichi/a
eichi/b
eichi/c
eichi/d
eichi/eichi.tar.gz
[root@localhost ~]# cd eichi
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 17:24 a
-rw-r--r--. 1 root root 0 Sep 6 17:24 b
-rw-r--r--. 1 root root 0 Sep 6 17:24 c
-rw-r--r--. 1 root root 0 Sep 6 17:24 d
-rw-r--r--. 1 root root 45 Sep 6 17:24 eichi.tar.gz
[root@localhost ~]# tar -ztvf eichi.tar.gz
#之查看压缩文件里的内容,不解压
drwxr-xr-x root/root 0 2020-09-06 17:24 eichi/
-rw-r--r-- root/root 0 2020-09-06 17:24 eichi/a
-rw-r--r-- root/root 0 2020-09-06 17:24 eichi/b
-rw-r--r-- root/root 0 2020-09-06 17:24 eichi/c
-rw-r--r-- root/root 0 2020-09-06 17:24 eichi/d
-rw-r--r-- root/root 45 2020-09-06 17:24 eichi/eichi.tar.gz
[root@localhost ~]# tar -zxvf eichi.tar.gz -C /tmp
#解压缩到指定的位置,由于指定了一个目录,所以要用-C选项
eichi/
eichi/a
eichi/b
eichi/c
eichi/d
eichi/eichi.tar.gz
检查
[root@localhost ~]# cd /tmp/eichi/
[root@localhost eichi]# ll
total 4
-rw-r--r--. 1 root root 0 Sep 6 17:24 a
-rw-r--r--. 1 root root 0 Sep 6 17:24 b
-rw-r--r--. 1 root root 0 Sep 6 17:24 c
-rw-r--r--. 1 root root 0 Sep 6 17:24 d
-rw-r--r--. 1 root root 45 Sep 6 17:24 eichi.tar.gz
[root@localhost ~]# tar -zxvf eichi.tar.gz -C /tmp eichi/b
#只解压压缩包中特定的文件,到指定的位置;由于指定了特定的位置,所以要加-C选项
eichi/b
[root@localhost ~]# cd /tmp/eichi
[root@localhost eichi]# ll
total 0
-rw-r--r--. 1 root root 0 Sep 6 17:24 b
最常用的是.tar.gz和.tar.bz2格式;结合了打包和压缩;注意对命令的记忆
tar下
-c 是打包
-x 是解打包
-C 指定解打包位置
tar.gz tar.bz2
-z 解压缩gz格式
-j 解压缩bz2格式
结合起来就是
-cvf是打包
-xvf是解打包
-zcvf是压缩、打包tar.gz格式
-jcvf是压缩、打包tar.bz2格式
-zxvf是解压缩、解打包tar.gz格式
-jxvf是解压缩、解打包tar.bz2格式