linux下的打包与压缩

linux压缩或解压缩工具有很多,除了已经很少有人使用的compress外,现在常用的还有tarbzip2xz gzip等,我们来说说它们的用法。

先来说bzip2bunzip2bzcat可以由bzip2指定选项来执行同样的结果,这里只介绍bzip2的用法。使用bzip2这个工具创建的文件以.bz2,.bz,.tbz,.tar.bz2或者.tbz2结尾。

bzip2命令的用法:

bzip2 [选项] [文件]

常用选项:

bzip2 -d        解压缩文件
bzip2 -c        将压缩或解压缩的结果送到标准输出
bzip2 -f        使用此选项,在解压缩文件时,若输出文件与现有文件同名,则覆盖同名的文件
bzip2 -k        在压缩或解压缩文件之后,保留原始文件
bzip2 -s        解压或压缩文件时,降低内存使用量
bzip2 -t        测试文件的完整性
bzip2 -v        压缩或解压缩文件时,显示具体过程
bzip2 -z        强制压缩一个文件
bzip2 -#        指定压缩比率

xz同样也是linux下出色的压缩工具,lunxz,xzcat,lzma,unlzma,lzcat命令可以由xz命令调用指定的选项来执行,因此只介绍xz命令的用法。xz命令生成的文件通常以.xz或者.lzma格式结尾。

xz命令的用法:

xz [选项] [文件]

常用选项有:

xz -z           压缩一个文件
xz -d           解压缩文件
xz -t           测试文件的完整性
xz -l           查看一个压缩文件的信息
xz -k           压缩完文件后不删除原始文件
xz -f           使用此选项时,若目标文件存在,则删除原始文件,再解压
xz -c           将执行命令的结果输出到标准输出
xz -F           指定压缩或解压缩文件的格式
xz -#           指定压缩文件时的压缩比率

linux上还有一个常用的解压工具,就是gzip了。同linux下其它工具一样,gunzip,zcat也可以由gzip指定的选项来执行,因此只介绍gzip命令的用法。用gzip命令创建的文件通常以.gz,.tar.gz,.tar.Z或者.tgz结尾。

gzip命令的用法:

gzip [选项] [文件]

常用选项有:

gzip -c            将命令的执行结果输出到标准输出
gzip -d            解压缩文件
gzip -f            使用此选项时,若目标文件存在,则删除原始文件,再解压
gzip -l            列出这个压缩文件的具体信息
gzip -n            解压缩文件时,忽略文件中原来的时间戳
gzip -N            解压缩文件时,保留文件中原始的时间戳
gzip -r            将指定目录下的所有文件及子目录一起压缩
gzip -t            测试文件的完整性        
gzip -v            显示压缩或解压缩的具体过程
gzip -#            指定压缩比率

再来说说tar这个非常强大的工具吧。 tar最初是为了做磁带备份而设计的,它的作用是把文件和目录备份到磁带中,然后再从磁带中提取或恢复文件。现在可以使用tar命令来备份数据到任何存储介质上。tar是文件级备份,不必考虑底层文件系统类别,并且支持增量备份。tar命令创建的文件通常以.tar结尾,tar命令可以调用gzip,bz2或者xz工具来压缩或解压缩指定的文件.

tar命令的用法:

tar [选项] [文件]

常用选项有:

tar -z          压缩或解压缩一个文件
tar -x          从file.tar压缩包中提取所有文件
tar -A          追加一个压缩包到一个档案内
tar -c          创建了个压缩档案
tar -d          比较一个压缩档案和被压缩文件的区别
tar -r          追加文件到指定的压缩包中
tar -t          测试文件的完整性
tar -u          增量备份文件,只备份比压缩包中已经备份文件新的文件
tar -x          从一个压缩包中提取出文件
tar -C          解压缩文件到指定的目录
tar -f          指定要压缩或解压缩的文件
tar -j          调用bzip2来压缩或解压缩文件
tar -J          调用xz来压缩或解压缩文件
tar -p          解压缩文件时保留原始文件的权限
tar -v          显示压缩或解压缩的过程
tar -z          调用gzip来压缩或解压缩文件
tar -P          保留原始文件的绝对路径,解压时自动解压到绝对路径下
tar --exclude   打包目录时,不打包指定的文件

工具的用法都已经说完了,现在来看看实际工作中的用法。

例1:把系统中的/etc目录备份到/home目录下备份后的文件名为etc.backup的文件, 可以使用

#tar -jcvf etc.backup.tar.bz2 /etc

来把/etc/目录打包备份成结尾为tar.bz2的压缩包,也可以使用

#tar -zcvf etc.backup.tar.gz /etc

来把/etc/目录打包备份成结尾为tar.gz的压缩包,还可以使用

#tar -Jcvf etc.backup.tar.xz /etc

来把/etc/目录打包备份成结尾为tar.xz的压缩包

    [root@localhost ~]# tar -jcvf /home/etc_backup.tar.xz /etc
    /etc/
    /etc/pm/
    /etc/pm/power.d/
    /etc/pm/sleep.d/
    /etc/pm/config.d/
    /etc/libuser.conf
    /etc/security/
    /etc/security/namespace.d/
    ...

    [root@localhost ~]# ls -lah /home
    total 8.0M
    -rw-r--r--   1 root root 8.0M Apr 16 12:18 etc_backup.tar.xz

同样的,已经我们会看到各种格式的压缩文件,这时候我们可以使用tar xf filename.tar来解压这个压缩包。

例2:我们在某个目录下有个Python-2.7.9.tar.xzpip-1.4.1.tar.gz的文件,我们可以使用如下命令来解压这两个压缩包。

    [root@localhost ~]# tar xf Python-2.7.9.tar.xz
    [root@localhost ~]# tar xf pip-1.4.1.tar.gz 
    [root@localhost ~]# ls -Alh
    total 13M
    drwxr-xr-x  17 1000  1000 4.0K Dec 11  2014 Python-2.7.9
    -rw-r--r--   1 root root   12M Apr 16 12:24 Python-2.7.9.tar.xz
    drwxr-xr-x   5  501 games 4.0K Aug  8  2013 pip-1.4.1
    -rw-r--r--   1 root root  435K Apr 16 12:24 pip-1.4.1.tar.gz

我们可以看到,tar没有指定使用哪个工具来解压这两个不同格式的压缩包,这两个压缩包也已经被成功解压了。实际上,tar命令会根据后面所接的压缩包的格式自动调用解压工具,这样以后再看到不同格式的压缩文件,我们就可以使用tar xf tar_file这个命令来解压压缩包了,so easy吧!!!

祝大家工作学习愉快!!

原创文章,作者:renpingsheng,如若转载,请注明出处:http://www.178linux.com/73502

(1)
renpingshengrenpingsheng
上一篇 2017-04-16 20:52
下一篇 2017-04-16 21:56

相关推荐

  • Linux下的查找命令

           Linux下的查找命令有很多,常用的有grep、which、whereis、locate、find。使用linux系统难免会忘记文件所在的位置,小编就是如此。所以我们在文件系统上常常需要根据文件的各种属性去查找符合条件的文件,所以小编今天特意写一篇文章来介绍一下这几个常用的查找命令。 一、Gre…

    Linux干货 2017-08-13
  • 优云Monitor:大规模Docker平台自动化监控之路

    本文介绍了通过优云Monitor,如何实现大规模容器运维平台的自动化监控需求。 尽管Docker技术目前还处于不稳定的发展与标准制定阶段,但这门技术已经呈现了极其火热的增长状态,却已经是不争的实事。到底有多火热?让我们先来看一张来自国外监控公司DataDog 2016年最新调查报告: 从图中可以看出,自2015年5月后,采用容器技术的应用呈现了30%的大幅增…

    2016-08-05
  • 计算机的发展及组成

    计算机发展 计算机(Computer):俗称电脑,是一种能接收和存储信息,并按照存储在其内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备。 1946年,世界上诞生了第一台计算机,用于军事,计算弹道。 1946年数学家冯.诺依曼提出冯诺依曼体系结构,即所有计算机由运算器、控制器、存储器、输入设备、输出设备组成,所有遵循冯.诺依曼…

    Linux干货 2017-07-13
  • find命令详解

    find命令是用来在给定的目录下查找符合给定条件的文件   find [OPTIONS] [查找起始路径] [查找条件] [处理动作]   一、OPTIONS参数     -P、-L、-H:控制软连接的对待方式,用的不多。不介绍了   二、查找路径     就是个目录路径,相对和绝对都可以。   三、查找条件     (一)、根据名称查找       -na…

    Linux干货 2016-09-19
  • 功能强大的Linux文本编辑器之Vim的使用

    VIM编辑器   Vim章节的内容:    使用vi和vim的三种主要模式    移动光标,进入插入模式    改变、删除、复制文本    撤销改变    搜索文档    vim寄存器    可视化和多窗口 &…

    Linux干货 2016-08-12
  • linux之/home目录转移分区。

    linux之/home目录转移分区。     I,基本思路,将/home目录的数据转移到新的分区,再将/home目录挂载到新的分区。     II,添加硬盘,进行分区,添加新硬盘不重启机器识别命令echo “- – -”  /sys/class/scsi_host/host#/scan,然后进行 …

    Linux干货 2017-06-19

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:45

    文章针对 linux下的打包与压缩进行了详细的说明,内容总结的很详细,排版也很好。