linux下数据压缩的几种方法与查看方式(示例代码)

所属分类: 脚本专栏 / linux shell 阅读数: 2011
收藏 0 赞 0 分享

1,tar命令

使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,tar命令本身不进行数据压缩,但可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2  

选项:

     -c 创建.tar格式包文件
     -x 解开.tar格式包文件
     -v显示详细信息
     -f 使用归档文件
     -p 保留原始文件权限
     -C 解压到目标文件夹
     -z 调用gzip进行压缩或解压
     -j 调用bzip2进行压缩或解压

    打包示例: 

  tar -cvf /root/Desktop/aa.tar bb.txt 打包文件

    打包并压缩示例:

  tar -zcvf /root/Desktop/aa.tar.gz bb.txt  压缩文件

    解压缩示例:

  tar -zxvf /root/Desktop/aa.tar.gz -C /aa/bb 解压文件

2,gzip压缩

    常用数据压缩命令,压缩比例可手工调整,  压缩后文件名 filename.gz:

        注:压缩后文件可直接load至hive数据库,但每个文件只会产生一个map,查询效率极低

选项:

-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),
-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。

压缩示例:

    gzip filename

    查看gzip压缩文件内容命令:     

    zcat filename.gz

     解压缩命令:

    gzip -d filename.gz

    压缩过程中可控制压缩率(1-9),1压缩最快,压缩率不高,9压缩最慢,压缩比例最高,缺省为6,例如:

    gzip -9 filename

3,bzip2压缩

    常用数据压缩命令,压缩比例比gzip高,压缩后文件名为filename.bz2

        注:压缩后文件可直接load至hive数据库

    选项

-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:若文件中有重复出现的资料时,可利用此参数加快执行效果。

    压缩示例:

    bzip2 filename

    解压缩示例:

    bzip2 -d filename.bz2

    直接查看压缩文件示例:     

    bzcat filename.bz2

使用默认压缩情况下压缩性能:

    bzip2 > gzip > tar

以上所述是小编给大家介绍的linux下数据压缩的几种方法与查看方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

更多精彩内容其他人还在看

shell结合expect写的批量scp脚本工具

expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了
收藏 0 赞 0 分享

备份shell脚本实例代码

备份shell脚本一例,有需要的朋友可以参考下
收藏 0 赞 0 分享

shell中冒号的特殊用法分享

有关shell中冒号的特殊用法,供朋友们参考
收藏 0 赞 0 分享

Shell脚本学习指南之文本处理工具

Shell脚本学习指南之文本处理工具介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本学习指南之查找与替换介绍

Shell脚本学习指南之查找与替换介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

分享shell编程中的几个小技巧

分享shell编程中的几个小技巧,学习shell编程的朋友可以看下
收藏 0 赞 0 分享

linux中常用脚本和函数分享

这linux中经常需要用到的一些脚本与函数,这里简单的分享下,方便需要的朋友
收藏 0 赞 0 分享

关于Shell脚本效率优化的一些个人想法

很想像之前的一片Mysql全面优化详解那样子写一篇全面的优化文章,但是苦于没有相关书籍参考,也没有发现网络牛人有总结帖或文章之类的,所以就根据个人理解和经验写一些能优化程序效率的东西吧。这篇是不敢称全面的
收藏 0 赞 0 分享

shell 基本计算、逻辑运算、位运算详解

Shell 提供大量的基本运算操作,在脚本中非常有用。Shell 对您提供的算术表达式求值,执行运算展开式,此时使用得出的结果替换表达式
收藏 0 赞 0 分享

hbase shell基础和常用命令详解

HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》
收藏 0 赞 0 分享
查看更多