linux 压缩、打包详解

压缩:

Linux下常见的压缩包格式有5种:zip gz bz2 xz Z
常见的压缩方式:

工 具 文件扩展名 描述
bzip2 .bz2 采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码
compress .Z 原始的Unix文件压缩工具,逐渐消失中
gzip .gz GNU压缩工具,用Lempel-Ziv编码
zip .zip Windows上PKZIP工具的Unix实现

gzip:默认gzip 会删除源文件,用-c和重定向(>)保留源文件
例:

gzip test     			 #压缩生成一个test.gz文件,源文件会消失
gzip -c test > test.gz    # 压缩文件,会保留源文件
gzip -cd test.gz > test   # 解压文件,会保留源文件
参数 详解
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-# -9 或–best 表示最高压缩方法(高压缩比)。系统缺省值为 6。

bzip2和bzcat 使用方法和gzip及zcat是一样的,但是bzip2压缩的后缀为bz2。而且压缩比更高
zcat xxx.gz可以查看解压后的文件内容

tar的命令格式:

tar function [options] object1 object2 

function 参数如下

功 能 全名名称 描 述
-A –concatenate 将一个已有tar归档文件追加到另一个已有tar归档文件
-c –create 创建一个新的tar归档文件
-d –diff 检查归档文件和文件系统的不同之处
–delete 从已有tar归档文件中删除
-r –append 追加文件到已有tar归档文件末尾
-t –list 列出已有tar归档文件的内容
-u –update 将比tar归档文件中已有的同名文件新的文件追加到该tar归档文件中
-x –extract 从已有tar归档文件中提取文件(解压)

options常用的选项:

选 项 描 述
-C -C dir 切换到指定目录
-f -f file 输出结果到文件或设备file
-j 将输出重定向给bzip2命令来压缩
-p 保留所有文件权限
-v 在处理文件时显示文件
-z 将输出重定向给gzip命令来压缩
-t 查看内容
-j bzip2压缩和解压
-P 保留绝对路径

通常,这些选项会合在一起使用。
例如,你可以用如下命令创建一个归档文件:

tar -cvf test.tar test/ test2/ test3/      		#打包
tar zcvf test.tar.gz test/ test2/ test3/		#打包压缩
tar -xvf test.tar        #解包
tar -zxvf test.tar.gz -C /~    #解包解压缩到家目录

事实上, 从1.15版本开始tar就可以自动识别压缩的格式,故不需人为区分压缩格式就能正确解压

tar -xvf filename.tar.gz
tar -xvf filename.tar.bz2
tar -xvf filename.tar.xz
tar -xvf filename.tar.Z

你可能感兴趣的:(Linux)