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
下一篇 2017-04-16

相关推荐

  • 用户及权限管理

     今天是学习马哥教育第四天,也是第一个博客作业,写一篇关于用户及权限管理的简介型的博客文章,作文水品有限,所以写出来有可能有病句或者意境有问题,请大家多多包涵。  首先,用户及权限管理,需要从2方面入手来说,首先来说用户管理。  何谓用户,这是马哥一上来就提到的问题,我简单的理解,用户其实就是一个人机交互的接口,人机交互的接口是…

    Linux干货 2016-09-15
  • linux基础学习之AWK

    内容: 1、awk输出(print、printf) 2、awk变量(内建变量和定义变量) 3、awk数组 4、awk重定向输出 5、awk操作符 6、awk常见模式类型 7、awk控制及循环语句 8、awk内置函数 awk:(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)…

    Linux干货 2016-09-22
  • 使用NFS共享网页文件

    上图为我们要搭建的网络拓扑图 本次实验目的:使用NFS文件服务来实现wordpress共享 实验环境: 需要三台虚拟机:         分别是:192.168.26.188(服务器端)          &n…

    2017-05-01
  • 计算机的组成

        计算机组成(computer composition)指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。 计算机组成的任务是在指令集系统结构确定分配给硬件系统的功能和概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令集的各种功能和特性。这种联系包括各功能部件的内部和相   &nbsp…

    2017-03-26
  • N22第二周作业

    1.Linux上文件管理类命令有哪些,其常用的使用方法及其相关示列演示。  常用文件管理类命令有:cp, mv ,rm. (1)cp:copy (2)mv:move (3) rm:remove   2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示 3、请使用命令行展开功能来完成以下练习:   &nb…

    Linux干货 2016-08-22
  • 第七周

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sdb欢迎使用 fdisk (util-li…

    Linux干货 2016-09-19

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:45

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