首页 > 代码库 > #11 压缩与解压缩

#11 压缩与解压缩

Linux系统中常用的压缩和解压缩工具;

压缩:以时间换空间的一种操作;

压缩的原理:标记和替换;

压缩比:压缩之前与压缩之后的文件的大小的比值;

纯文本文件压缩比较大

视频、图像等文件压缩比小

能够实现压缩功能的工具:

compress/uncompress: .Z扩展名为红色的,没有特殊含义(系统自带的工具)

gzip/gunzip:.gz扩展名

bzip2/bunzip2:.bz2扩展名

xz/unxz:.xz扩展名,目前压缩比最高的工具

zip/unzip:.zip扩展名

gzip:

zcat:读取压缩包

gzip, gunzip, zcat - compress or expand files

-d:解压缩;

-#:以指定的压缩比进行压缩,1-9,9为最高级,默认为6;

-C:将压缩结果输出到标准输出,不会对原文件进行压缩;

gzip -c /path/to/file > /path/to/compress_file.gz


bzip2:

bunzip2:读取压缩包

bzip2, bunzip2 - a block-sorting file compressor, v1.0.6

    bzcat - decompresses files to stdout

-d:解压缩;    

-#:以指定的压缩比进行压缩,1-9,9为最高级,默认为6;

-k --keep:保留原文件不删除,创建新的压缩文件;


xz:

xzcat:读取压缩包

xz, unxz, xzcat,  - Compress or decompress .xz  files

-d:解压缩;

-#:以指定的压缩比进行压缩,1-9,9为最高级,默认为6;

-k --keep:保留原文件不删除,创建新的压缩文件;


tar:归档程序

tar——tape archive:磁带档案

tar [OPTION...] [FILE]...

主选项:

-c:创建档案文件

-x:释放档案文件的内容

-t:查看档案文件中包含的文件

-u/-r:向档案文件中添加新的文件


辅助选项:

-f:指定档案文件的路径

-C:释放档案文件中的内容时,指定释放的路径;

-z:在创建档案文件时,调用gzip进行压缩;

-j:在创建档案文件时,调用bzip2进行压缩;

-J:在创建档案文件时,调用xz进行压缩;

--exclude:在释放档案文件时,排除某个文件;

-k:在释放档案文件时,不会覆盖同名文件;


#11 压缩与解压缩