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

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下数据压缩的几种方法与查看方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • linux命令查看磁盘空间的方法

    今天用"web发布平台"发布测试的服务,两个节点中发现有一个节点没有发布成功,压测TPS始终上不去,排查后发现只有一个节点在打日志,另一个节点的服务进程都没有在运行, 由此断定应该是没有发布成功,有点坑的是发布平台上的发布记录是SUCCESS的,打开发布日志后才看到有一个节点是发布失败的. 从错误日志中发现报错的关键字"IO",应该就是磁盘空间满了造成的,查看磁盘空间的命令之前用过,但是这次要删除的log中包含了很多子目录和文件,有些可以删除,有些是需要保留的,这样

  • Linux oracle数据库自动备份自动压缩脚本代码

    复制代码 代码如下: #!#backup.sh##系统名称sysname=gzsyspath=/home/oracle/databak/$sysname/v_date=$(date '+%Y%m%d%H%M%S')logfile=$syspath/backup.$v_date.logecho backup_time>>$logfiledate '+%Y-%m-%d %H:%M:%S' >> $logfile#数据库使用情况echo "backup gznxt"&

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

    1,tar命令 使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进行压缩了,tar命令本身不进行数据压缩,但可以在打包或解包的同时调用其它的压缩程序,比如调用gzip.bzip2 选项: -c 创建.tar格式包文件      -x 解开.tar格式包文件      -v显示详细信息      -f 使用归档文件      -p 保留原始文件权限      -C 解压到目标文件夹      -z 调用gzip进行压缩或解

  • Java语言通过三种方法实现队列的示例代码

    目录 队列 图解 数组模拟队列 队列优化—循环队列 代码 使用java内部队列 代码 队列 队列是一种特殊的线性表,只允许在表的前端进行删除操作,在表的后端进行插入操作. 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则.即:先存入队列的数据,要先取出.后存入的要后取出. 就相当于我们日常生活中的排队,先来先服务,后来的只能在后面进行排队等待. 图解 数组模拟队列 通过对定义的了解,发现队列很像我们的数组,那我们是不是可以通过数组来模拟队列,下面我们来实践一下. 首先先分析一下

  • linux 远程控制windows系统下的程序(三种方法)

    有时候我们需要通过在linux上远程运行windows系统上的程序. 方法一: 通过python中的 winrm模块,前提条件,先提前设置好winrm服务.如何设置请自行百度,winRM服务是windows server下PowerShell的远程管理服务.Python脚本通过连接winRM模块操作windows命令行. import winrm def cmd_views(ip,cmd_comand): win = winrm.Session('http://'+ip+':5985/wsman

  • 分享Linux 系统生成随机密码的10种方法

    通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律的),使用1password 或者 keepass 这种软件生成也可以,不过貌似1password 要收费,既然这样我们就玩一下好玩的用 linux 来生成随机密码玩玩吧; Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,

  • linux下安装mysql简单的方法

    在网上搜索Linux下安装MySQL的方法时,出现了很多的方法,但是很多的方法很复杂,而且还不一定成功,试了很久终于试验出一种简单的方法,下面来谈谈我是怎么安装的吧 1.准备安装包 (1)mysql-client-5.5.8-1.rhel5.x86_64.rpm (2)MySQL-devel-5.5.8-1.rhel5.x86_64.rpm (3)MySQL-server-5.5.8-1.rhel5.x86_64.rpm 2.将下载好的安装包上传到linux上 3.安装mysql的三个安装包 r

  • Linux文件清空的五种方法总结分享

    本文主要介绍的是Linux文件清空的五种方法,下面话不多说,来看看详细的介绍吧. 1.使用重定向的方法 [root@centos7 ~]# du -h test.txt 4.0K test.txt [root@centos7 ~]# > test.txt [root@centos7 ~]# du -h test.txt 0 test.txt 2.使用true命令重定向清空文件 [root@centos7 ~]# du -h test.txt 4.0K test.txt [root@centos7

  • 详解linux安装软件的几种方法

    一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在的目录: 4.输入rpm -ivh soft.version.rpm 详细介绍: 1. 安装: 我只需简单的一句话,就可以说完.执行: rpm –ivh rpm的软件包名 更高级的,请见下表: rpm参数 参数说明 -i 安装软件 -t 测试安装,不是真的安装 -p 显示安装进度 -f 忽略任何错误

  • linux下shell脚本备份文件的方法实现

    目录 1.shell自动备份 2.关于find命令: 1.shell自动备份 主要功能: 1)将pathSrc目录中的文件拷贝到pathDst目录中去. 具体步骤:先查询源目录和目标目录中的文件,分别存在fileSrc和fileDst中. -> 来两个循环,比较.不在fileDst的就拷贝过去.再判断一下是否拷贝成功. 2)将pathSrc中的文件保留180天. 具体步骤:先查出源目录中大于180天的文件(就是那句find),然后删除. #!/bin/bash v_time=`date "

  • linux下编译boost.python简单方法

    最近项目使用c++操作Python脚本,选用boost.python库.在window下编译安装很顺利,但是在Linux下一直编译不通过,总是提示找不到头文件.linux版本为rhel5.7.后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3. 换到另外一台机器,重新下载boost,使用以下命令,顺利编译成功 ./bootstrap.sh --with-python=/usr/bin/python ./bjam --build-type=mi

  • LINUX下Oracle数据库用户创建方法详解

    本文实例分析了LINUX下Oracle数据库用户创建方法.分享给大家供大家参考,具体如下: 1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2)首先要打开监听器命令如下:lsnrctl start,然后sqlplus /nolog ,然后conn /as sysdba,然后startup(这一部分命令是用来打开oracle数据库) 3)查看我们常规将用户表空间放置的位置:执行如下sql: SQL> select

随机推荐