压缩:
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