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

相关推荐

  • 文本处理三剑客之grep及正则表达式

    文本处理三剑客之grep及正则表达式   文本处理工具:   Linux上处理文本三剑客:     Grep:文本过滤器工具(模式:pattern)工具;     Sed: stream editor,流编辑器;文本编辑工具;   &nbs…

    Linux干货 2016-08-12
  • 认识DNS

    DNS全称是Domain Name System的简称,即域名系统。因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP/TCP协议之上,使用端口号53。 认识DNS 安装 创建一台DN…

    Linux干货 2016-12-07
  • grep命令和find命令的练习

    1、显示系统上root、Fedora、或user1用户的默认shell [root@localhost ~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f1,7 root:/bin/bash fedora:/bin/bash user1:/bin/bash 2、找出/etc/rc.…

    Linux干货 2017-07-30
  • Linux内核编译

    1.安装前准备:     安装开发环境     获取内核源码包(www.kernel.org)     安装软件包        *curses*    &nb…

    Linux干货 2016-09-17
  • 第一周作业

    # 1.计算机的基本组成和功能: – **存储器**:  实现记忆功能的部件用来存放计算程序及参与运算的各种数据 – **运算器**:  负责数据的算术运算和逻辑运算即数据的加工处理 – **控制器**:  负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问 – **输入设备**: 实现计算程…

    Linux干货 2016-12-04
  • linux中的管道符

    管道符 less只能看文件 但是这样做会产生一个垃圾文件ls.txt,所以下面我们就会需要用到管道符 |只将传递正确结果传递给 而使用这两种方法可以传递正确和错误的结果[root@localhost ~]# ls /etc/passwd /cpp/passwd 2>&1|less   ,  (2>&1…

    2017-07-22

评论列表(1条)

  • renjin
    renjin 2017-04-21 11:45

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