压缩相关知识
常见压缩文件扩展名:
*.Z:compress程序压缩的文件
*.zip:zip程序压缩的文件
*.gz:gzip程序压缩的文件
*.bz2:bzip2程序压缩的文件
*.xz:xz程序压缩的文件
*.tar:tar程序打包的文件,并没有压缩过
*.tar.gz:tar程序打包的文件,并且经过gzip的压缩
*.tar.bz2:tar程序打包的文件,并且经过bzip2的压缩
*.tar.xz:tar程序打包的文件,并且经过xz的压缩
这些压缩程序都是针对单一文件的,如果需要对多个文件或目录进行压缩,先需要使用tar将多个文件或目录打包成一个文件,再进行压缩。
常用压缩解压命令
gzip
命令名称:gzip
命令英文原意:GNU zip
命令所在路径:/bin/gzip
执行权限:所有用户
功能描述:压缩文件
压缩后文件格式:.gz
选项与参数:
gzip [-cdtv#] 文件名
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-d:解压缩参数
-t:可以用来检验一个压缩文件的一致性,看看文件有无错误
-v:可以显示出原文件/压缩文件的压缩比等信息
-#:#为数字的意思,代表压缩等级,-l最快,但是压缩比最差,-9最慢,但压缩比最好,默认是-6
当使用gzip进行压缩时,在默认的状态下原本的文件会被压缩成.gz后缀的文件,源文件就不再存在了。
cat/more/less可以使用不同的方式来读取纯文本文件,那zcat/zmore/zless则可以对应于cat/more/less的方式来读取纯文本文件被压缩后的压缩文件。
如果还想从文字压缩文件当中找数据的话,可以通过zgrep来查找关键词,而不需要将压缩文件解开才以grep进行,这对查询备份中的文本文件数据相当有用。
注:以上这些也适用于其它解压缩命令,如bzcat/bzmore/bzless/bzgrep,xzcat/xzmore/xzless/xzgrep。
gunzip
命令名称:gunzip
命令英文原意:GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
功能描述:解压缩.gz的压缩文件
tar
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
功能描述:打包目录
选项与参数:
tar [-z | –j | -J] [cv] [-f 待建立的新文件名] filename //打包与压缩
tar [-z | –j | -J] [tv] [-f 既有的tar文件名] //查看文件名
tar [-z | –j | -J] [xv] [-f 既有的tar文件名] //解压缩
-c:建立打包文件,可搭配-v来查看过程中被打包的文件名(filename)
-t:查看打包文件的内容含有哪些文件名,重点在查看【文件名】
-x:解包或解压缩的功能,可以搭配-C(大写)在特定目录解压,特别留意的是,-c、-t、-x不可同时出现在一串命令行中
-z:通过gzip的支持进行压缩/解压缩:此时文件名最好为*.tar.gz
-j:通过bzip2的支持进行压缩/解压缩:此时文件名最好薇*.tar.bz2
-J:通过xz的支持进行压缩/解压缩:此时文件名最好为*.tar.xz,特别留意,-z、-j、-J不可以同时出现在一串命令行中
-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来
-f filename:-f后面要立刻接被处理的文件名,建议-f单独写一个选项(比较不会忘记)
-C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
-p(小写):保留备份数据的原本权限与属性,常用备份(-c)重要的配置文件
-P(大写):保留绝对路径,亦即允许备份数据中含有根目录存在之意
--exclude=FILE:在压缩的过程中,不要就FILE打包
zip
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
功能描述:压缩文件或目录
压缩后文件格式:.zip
语法:zip 选项 [-r] [压缩后的文件名] [文件或目录]
-r:压缩目录
注:zip格式在Linux和Windows中相互通用,另外基本Linux中的压缩格式都可以在Windows中使用,但在Windows的压缩文件在Linux一般默认不支持,看情况而定。
zip压缩文件后保留原文件。
unzip
命令名称:unzip
命令所在路径:/usr/bin/unzip
执行权限:所有用户
功能描述:解压缩.zip的压缩文件
语法:unzip [压缩文件]
bzip2
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
压缩后文件格式:.bz2
选项与参数:
bzip2 [-cdkzu#] filename
-c:将压缩的过程产生的数据输出到屏幕上
-d:解压缩的参数
-k:保留原始文件,而不会删除原始的文件
-z:压缩的参数(默认值,可以不加)
-v:可以显示出源文件/压缩文件的压缩比等信息
-#:与gzip同样,都是计算压缩比的参数,-9最佳,-1最快
bunzip2
命令名称:bunzip2
命令所在路径:/usr/bin/bunzip2
执行权限:所有用户
xz
xz [-dtlkc#] 文件名-d:解压缩-t:测试压缩文件的完整性,看有没有错误-l:列出压缩文件的相关信息-k:保留原本的文件不删除-c:同样的,就是将数据在屏幕上输出的意思-#:压缩比