一般基因组的数据都非常大,所以都会 打包 压缩 后进行传输,拿到数据后的第一步必然就是要 解包 和 解压缩。

基本常识

首先要弄清两个概念:打包压缩
打包 是指将一大堆文件或目录变成一个总的文件;
压缩 则是将一个大的文件通过一些压缩算法变成一个小文件。

Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。
利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。(打包有点复杂,压缩就简单了,打包分目录打包 和 文件打包,具体情况与Windows下的操作类似)

tar命令已经足够优秀了,可以同时打包压缩,也可以同时解包解压缩.

 

实例

如下是一些常见的情况:

怎么一起打包压缩?

# 参数:常见的-v 显示操作过程;-f 指定备份文件;
tar -cvf log.tar log2012.log # 仅打包,不压缩!
tar -zcvf log.tar.gz log2012.log # 打包后,以 gzip 压缩
tar -jcvf log.tar.bz2 log2012.log # 打包后,以 bzip2 压缩
# 核心参数:-c 建立新的备份文件,证明此命令是用来打包的
# -z 通过 gzip 压缩打包文件,压缩后文件后缀为 .gz
# -j 通过 bzip2 压缩打包文件,压缩后文件后缀为 .bz2

怎么分步打包压缩?

# -r 是指进行递归处理, 类似rm -r
gzip -r log.tar # 压缩一个 tar 备份文件
bzip2 filename   #进行 bzip2 压缩
bzip2 -z filename #进行 -z 强制压缩

 

拿到 .tar.gz 文件:

一步到位

tar -zxvf filename.tar.gz -C 欲解压缩的目录
tar -jxvf filename.tar.bz2 -C 欲解压缩的目录

拿到 .gz 或 .bz2 文件:

bzip2 -d filename.bz2  # -d 执行解压缩
gzip -dv *  # -d 解压缩  -v 显示执行过程
gzip -dr * # 递归解压缩目录

 

其他技巧:

怎么排除选中某些文件?

Linux 打包和压缩 方法详解的更多相关文章

  1. 【Python】Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使用它在 ...

  2. Linux系统安装IonCube的方法详解教程

    ioncube是业内优秀的php加密解密解决方案.和zend guard相比,ioncube具有如下优势: 1. 安全:zend guard的版本不是非常安全,网络上有破解使用zend,下面我们来看I ...

  3. 【转】linux tail命令使用方法详解

    原文网址:http://www.111cn.net/sys/linux/46902.htm linux tail命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,通俗讲来,就是把某个 ...

  4. Linux GRUB手动安装方法详解

    需要手工安装 GRUB 主要有两种情况: Linux 系统原先不是使用 GRUB 作为引导程序而现在想要使用 GRUB 来作为引导程序: MBR 中的引导程序被覆盖,需要在 MBR 中重新安装 GRU ...

  5. linux 测试磁盘iops 方法详解

    一.FIO安装  wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz  yum -y install libaio-devel  tar -zxvf ...

  6. Linux 常见压缩格式详解

    linux 文件压缩格式详解 压缩文件原理 在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据比特(或者其它信息相关的单位)表示信息的过程.例如,如果我们将" ...

  7. Linux中让alias设置永久生效的方法详解

    Linux中让alias设置永久生效的方法详解 一.问题描述 1.有很多时候我们想要将很多操作作为一个步骤,那么在不作为系统的服务的情况下,别名是我们最好的选择,但是发现别名只能在一次会话中生效,重启 ...

  8. Linux操作系统下IPTables配置方法详解

    如果你的IPTABLES基础知识还不了解,建议先去看看. 们来配置一个filter表的防火墙 1.查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Cha ...

  9. Linux驱动开发必看详解神秘内核(完全转载)

    Linux驱动开发必看详解神秘内核 完全转载-链接:http://blog.chinaunix.net/uid-21356596-id-1827434.html   IT168 技术文档]在开始步入L ...

随机推荐

  1. ZENG msgbox仿qq提示

    ZENG.msgbox.show("设置成功!", 4, 2000); ZENG.msgbox.show("服务器繁忙,请稍后再试.", 1, 2000); Z ...

  2. 如何查看tensorflow版本与存储位置

    import tensorflow as tf tf.__version__ __看着是一个下划线,实际上是两个下划线,中间有空格 tf.__path_

  3. jquery easyui 弹出消息框

    <html> <head> <!-- 导入easyui插件的js和css样式; --> <link rel="stylesheet" ty ...

  4. 实现的时钟(time)

    <!doctype html><html lang="en"><head> <script type="text/javascr ...

  5. Java过滤器应用-对Ajax请求做Session失效判断

    过滤器常用来对Session过期做判断 Layout.js 1.为ajax请求添加标识 2.无论ajax请求成功与否,complete函数终会执行 // 全局Ajax设置, 用于session过期后的 ...

  6. CAGradientLayer

    参考: CAShapeLayer和CAGradientLayer 一 简介 1,CAGradientLayer,处理颜色渐变: 2,CAGradientLayer的渐变色可以做隐式动画: 3,大部分情 ...

  7. Python3基础 使用技巧:把代码的字体变大

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. C#注册表操作,根据键取值

    string into = ""; RegistryKey key = Registry.LocalMachine; RegistryKey myreg = key.OpenSub ...

  9. JQuery 选中Radio

    <tr> <td> <input type="radio" name="rdb" value="启用" che ...

  10. C# 文件流相关操作

    二进制转换成图片: MemoryStream ms = new MemoryStream(bytes); ms.Position = ; Image img = Image.FromStream(ms ...