本文总结压缩的两个命令(gzip、bzip2)以及打包命令tar,它们生成的文件通过文件名后缀区分。
对于每个命令,先总结其完整的格式及参数,再总结常用命令。
参考书:《鸟哥的Linux私房菜 基础学习篇(第三版)》第九章
gzip是应用最广的压缩命令,可压缩单个文件,压缩之后原文件不存在。
# gzip [-cdtv#] 文件名
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-d:解压缩的参数
-t:可以用来检验一个压缩文件的一致性,看看文件有无错误
-v:可以显示出原文件/压缩文件的压缩比等信息
-#:压缩等级,-1最快,但是压缩比最低,-9最慢,但压缩比更好,默认是-6
1.1 压缩
模板:
# gzip -v 文件名
例:
# gzip -v text.txt
1.2 查看
这里说的查看是指:在不解压的前提下,查看被压缩的文件。
模板:
# zcat 压缩文件(*.gz)
例:
# zcat text.txt.gz
1.3 解压缩
模板:
# gzip -d 压缩文件
例:
# gzip -d text.txt.gz
1.4 总结
压缩用-v
解压用-d
查看用zcat
bzip2是为了取代gzip并提供更佳的压缩比而来的,用法几乎和gzip相同。
# bzip2 [-cdkzv#] 文件名
-c:将压缩过程中产生的数据输出到屏幕上
-d:解压缩的参数
-k:保留原文件,而不会删除原始的文件
-z:压缩的参数
-v:可以显示出原文件/压缩文件的压缩比等信息
-#:压缩等级,-1最快,但是压缩比最低,-9最慢,但压缩比更好,默认是-6
2.1 压缩
模板:
# bzip2 -v 文件名
例:
# bzip2 -v text.txt
2.2 查看
这里说的查看是指:在不解压的前提下,查看被压缩的文件。
模板:
# bzcat 压缩文件(*.bz2)
例:
# bzcat text.txt.bz2
2.3 解压缩
模板:
# bzip2 -d 压缩文件
例:
# bzip2 -d text.txt.bz2
2.4 总结
压缩用-v
解压用-d
查看用bzcat
tar是打包命令,可将目录整体打包,还可以通过gzip和bzip2进行压缩。
tar参数非常多,这里只总结常用的一些:
# tar [-j|-z] [cv] [-f 新建的文件名] filename...
# tar [-j|-z] [tv] [-f 新建的文件名]
# tar [-j|-z] [xv] [-f 新建的文件名] [-C 目录]
-c:新建打包文件,可搭配-v来查看过程中被打包的文件名
-t:查看打包文件的内容含有哪些文件名,重点在查看文件名
-x:解打包或解压缩的功能,可以搭配-C(大写)在特定目录解开。
注:-c、-t、-x不可同时出现在一串命令行中
-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为 *.tar.bz2
-z:通过gzip的支持进行压缩/解压缩,此时文件名最好为 *.tar.gz
-f filename:-f后面要接被处理的文件名,建议-f单独写一个参数
-C 目录:用在解压缩时,若要在特定目录解压缩,可以用这个参数。
下面介绍常用的命令。
3.1 压缩
模板:
# tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
例:
# tar -jcv -f dir3.tar.bz2 dir3
上面这个命令将目录“dir3”打包压缩(bzip2方式)为压缩包“dir3.tar.bz2”
3.2 查询
查看压缩包里有哪些文件,以目录的形式输出
模板:
# tar -jtv -f filename.tar.bz2
例:
# tar -jtv -f dir3.tar.bz2
显示出压缩包“dir3.tar.bz2”里面有哪些文件。
3.3 解压缩
模板:
# tar -jxv -f filename.tar.bz2 -C 欲解压的目录
例:
# tar -jxv -f dir3.tar.bz2 -C .
将压缩包“dir3.tar.bz2”解压到当前目录(.)中。
3.4 解压缩单个文件
可从压缩包中单独解压某个文件,一般先要查看一下压缩包里都有哪些文件(3.2节有介绍)。
模板:
先查看有哪些文件:
# tar -jtv -f filename.tar.bz2
再单独解压缩某个文件
# tar -jxv -f 打包文件.tar.bz2 待解开文件名
例:
# tar -jtv -f dir3.tar.bz2
...
屏幕上显示出的文件目录
...
# tar -jxv -f dir3.tar.bz2 text.txt
上面这个命令先查看了压缩包“dir3.tar.bz2”里面有哪些文件,然后再将其中的“text.txt”单独解压缩。