当前位置:主页 > 脚本语言 > Shell >

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

时间:2021-01-09 11:15:37 | 栏目:Shell | 点击:

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

总结

您可能感兴趣的文章:

相关文章