文件的压缩与解压缩


压缩是为了减少文件大小,节省存储空间。

gzip 和 bzip2 只能处理单个文件。因此需要 tar 的配合来完成对文件夹的压缩和解压缩。

tar 的作用是把一组文件打包成一个文件。反过来的操作称之为解包。tar 本身并不对文件进行压缩,通常与 gzip 和 bzip2 配合实现压缩和解压缩。

gzip 和 bzip2 通常在 unix 环境下比较常用。zip 和 rar 格式则通常在 windows 环境下常用。还有一个 7Zip 在 windows 上也开始流行起来。

bzip2 比 gzip 的压缩比好一些,但花费的时间也相应长一些。
tar

    * tar cvf my.tar file1 dir2 => 把文件file1和目录 dir2下所有文件打包成为一个文件 my.tar
    * tar xvf my.tar => 解包 my.tar

    * tar zxvf my.tar.gz => 解压缩 gzip 格式文件
    * tar jxvf my.tar.bz2 => 解压缩 bzip2 格式文件

选项

    * -c 创建新的档案文件
    * -r 把要归档的文件追加到档案文件的末尾
    * -t 列出档案文件中已经归档的文件列表
    * -u 更新文件,用新文件替代档案中原始文件。如果备份文件中不存在该文件,则把它追加到备份文件的末尾
    * -x 从档案文件中还原文件

    * -f 归档到普通文件
    * -k 保存已存在的文件。例如在还原的过程中,遇到相同的文件,不会进行覆盖
    * -m 在还原文件时,把所有文件的修改时间设定为现在时间
    * -v 报告tar的详细处理过程
    * -w 每一步都要进行确认
    * -z 用gzip来压缩/解压缩文件
    * -j 通过bzip2压缩/解压缩文件
    * -Z 通过compress程序过滤档案。

gzip & gunzip

    * gzip file.txt => 压缩后的文件为 file.txt.gz,原文件则被删除
    * gunzip file.txt.gz => 解压缩后的文件为 file.txt,file.txt.gz 则被删除。

常用选项

    * -c 将输出写道标准输出上,并保留原文件
    * -d 对压缩文件进行解压缩
    * -l 对每个压缩文件,显示字段:压缩文件的大小、未压缩文件的大小、压缩比、未压缩文件的名字
    * -r 递归式查找指定目录,并压缩或者解压缩其中的所有文件。
    * -t 检查压缩文件是否完整
    * -v 对每个压缩和解压缩的文件,显示文件名和压缩比
    * -num 用指定的数字num设置压缩比,-1或-fast表示最低压缩比,-9或-best表示最高压缩比。系统默认值是6

bzip2 & bunzip2

    * bzip2 file.txt => 压缩后的文件为 file.txt.bz2,原文件则被删除
    * bunzip2 file.txt.bz2 => 解压缩后的文件为 file.txt,file.txt.bz2 则被删除。

常用选项

    * -c 或 --stdout 将压缩与解压缩的结果送到标准输出
    * -d 或 --decompress 执行解压缩
    * -f 或 --force bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件,若要覆盖,需要使用此参数
    * -h 或 --help 显示帮助
    * -k 或 --keep bzip2在压缩或解压缩后,会删除原始的文件,若要保留原始文件,需要使用此参数
    * -s 或 --small 降低程序执行时内存的使用量
    * -t 或 --test 测试.bz2压缩文件的完整性
    * -v 或 --verbose 压缩或解压缩文件时,显示详细的信息
    * -z 或 --compress 强制执行压缩
    * -V 或 --version 显示版本信息
    * --repetitive-best 若文件中有重复出现的内容,可利用此参数提高压缩效果
    * --repetitive-fast 若文件中有重复出现的内容,可利用此参数加快执行速度

zip & unzip

zip与windows的winzip压缩程序产生相同压缩文件.zip。
语法格式
zip 压缩文件名 被压缩文件列表

    * zip dir_to_work.zip dir_to_work => 把目录dir_to_work目录打包并压缩为文件 dir_to_work.zip
    * unzip dir_to_work.zip => 解压缩文件

常用选项

    * -x 文件列表 解压缩文件,但不包括“文件列表”中指定的文件
    * -v 查看压缩文件目录,但不解压
    * -t 测试文件有无损坏,但不解压
    * -d 目录 把压缩文件解压到指定目录下
    * -z 只显示压缩文件的注解
    * -n 不覆盖已经存在的文件
    * -o 覆盖已存在的文件且不要求用户确认
    * -j 不重建文档的目录结构,把所有文件解压到同一目录下
转自: http://noyesno.net/page/app/compress

猜你喜欢

转载自basin6421.iteye.com/blog/800357