今天我们继续为大家带来Linux常用命令的文件压缩解压命令。在Linux中,制作压缩包或者解压是我们日后最常见的日常文件操作了。在Linux系统中,压缩解压命令其实并不难,但是里面有一些细节是需要我们注意的。Linux压缩格式有很多中,我们掌握好常见的几种压缩格式就足够了。
1、gzip
压缩命令解释
- 命令名称:
gzip
- 命令英文:
GNU zip
- 命令所在路径:
/bin/gzip
- 执行权限:所有用户
- 命令功能:压缩文件
- 语法:
gzip 选项[文件]
- 压缩后文件格式:
.gz
.gz
格式我们比较常见,比如在系统里面按照软件包的时候,很多都是这个格式。
使用举例
比如我们test目录下有个 file3
的文件,将其压缩成 .gz
格式:
$ gzip file3
可以看到,在目录中立马生成了一个 file3.gz
的压缩包文件,但是源文件 file3
不见了。gzip
命令有几点大家要记住:
- 它只能压缩文件,不能压缩目录
- 不保留源文件
我们要解压缩 .gz
的文件,可以使用 -d
参数:
$ gzip -d file3.gz
解压 .gz
文件我们还有个专门的命令: gunzip
2、gunzip
解压.gz
格式命令解释
- 命令名称:
gunzip
- 命令英文:
GNU unzip
- 命令所在路径:
/bin/gunzip
- 执行权限:所有用户
- 命令功能:解压.gz的压缩包文件
- 语法:
gunzip 选项[压缩文件]
使用举例
接上一个例子,我们解压 file3.gz
文件:
$ gunzip file3.gz
解压出来之后,压缩包源文件同样没有保留了。
既然 gzip
不能压缩目录,那么自然有另外一个命令 tar
可以用来压缩目录。
3、tar
压缩命令解释
- 命令名称:
tar
- 命令所在路径:
/bin/tar
- 执行权限:所有用户
- 命令功能:打包目录
- 压缩后文件格式:
.tar.gz
- 语法:
tar 选项[cvf] [目录]
-
-c
产生.tar
打包文件
-
-v
显示详细信息
-
-f
指定压缩后的文件名
-
-z
打包同时压缩
使用举例
比如我目录下面有个test2
的目录,现在要打包并压缩成.tar.gz
文件:
$ tar -zcf test2.tar.gz test2
大家注意,我们要先指定文件名,再指定要打包的目录,而且打包完成之后,源文件还在。
解压 .tar.gz
文件
- 语法:
tar 选项[xvf] [压缩包文件]
-
-x
解包.tar
文件
-
-v
显示详细信息
-
-f
指定解压的文件
-
-z
解压缩
$ tar -zxf test2.tar.gz
4、zip
压缩命令解释
- 命令名称:
zip
- 命令所在路径:
/usr/bin/zip
- 执行权限:所有用户
- 命令功能:压缩文件或目录
- 压缩后文件格式:
.zip
- 语法:
zip 选项[-r] [压缩后的文件名称] [文件或目录]
使用举例
- 比如我
test/
目录下面有个file3
文件,想压缩成me.zip
文件到/mnt
目录:
$ zip /mnt/me.zip file3
可以看到,执行命令之后,在我的/mnt
目录生成了一个me.zip
文件,注意:zip
命令也会保留源文件。
- 压缩目录:压缩目录和压缩文件差不多,只是多了一个 -r 参数。
$ zip -r test.zip test
提示:
.zip
格式是默认windows系统和Linux系统唯一通用的格式。
5、unzip
解压缩命令解释
- 命令名称:
unzip
- 命令所在路径:
/usr/bin/unzip
- 执行权限:所有用户
- 命令功能:解压
.zip
格式的压缩文件 - 语法:
unzip [选项] [压缩文件名称]
使用举例
- 比如把我们刚才生成的
me.zip
文件解压:
$ unzip me.zip
- 把我们刚才生成的
test.zip
文件解压:
$ unzip test.zip
大家可以注意到,执行命令之后,在命令行提示是否覆盖已有的文件,我们根据自己的需要输入即可。有的同学就问,我不想要它提示,只要出现同名的文件就自动覆盖,该如何执行呢?我们加一个 -o
的参数即可:
unzip -o test.zip
6、bzip2
解压缩命令解释
- 命令名称:
bzip2
- 命令所在路径:
/usr/bin/bzip2
- 执行权限:所有用户
- 命令功能:压缩文件
- 压缩后文件格式:
.bz2
- 语法:
bzip2 [选项]-k [文件]
-
-k
产生压缩文件后保留原文件
其实大家可以理解
bzip2
是gzip
是升级版,因为他和gzip
差不多,也只能压缩文件,不过多了一个选项-k
是否保留原文件,而且它的压缩比很高,因此比较适合压缩大型的文件。
使用举例
比如把当前目录下的file3
文件压缩成 .bz2
文件,并且保留原文件:
$ bzip2 -k file3
7、bunzip2
解压缩命令解释
- 命令名称:
bunzip2
- 命令所在路径:
/usr/bin/bunzip2
- 执行权限:所有用户
- 命令功能:压缩
bz2
文件 - 语法:
bunzip2 [选项]-k [压缩文件]
-
-k
产生压缩文件后保留原文件
使用举例
比如把当前目录下的file3.bz2
压缩包解压,并且保留原压缩文件:
$ bunzip2 -k file3.bz2
今天我们学习了在Linux系统中如何压缩和解压缩文件,总体来说,我们只要掌握.gz
、.tar.gz
、.zip
、.bz2
这四种格式压缩和解压缩就可以了。