文件的压缩与解压缩

@ 2009-09-27 20:14:15
标签:

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

    gzipbzip2 只能处理单个文件。因此需要 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 不重建文档的目录结构,把所有文件解压到同一目录下

    RAR

    7-Zip

    7-Zip是免费的Windows平台压缩/解压缩软件。7-Zip自己的压缩格式后缀是".7z"。支持常见的其他压缩格式的解压缩。

    推荐Windows用户使用。

    XZ Utils

    XZ 声称自己的压缩文件比gzip小30%,比bzip2小15%。

    XZ的主要压缩算法是基于LZMA2的。XZ压缩文件的后缀是".xz"。可以使用7-Zip解压缩".xz"格式的压缩文件。

    一些iso文件会用到XZ压缩。比如 FreeBSD的DVD安装镜像文件 FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz

    标签:

      分享到:
      comments powered by Disqus

      35/40ms