tar命令及解压缩常用命令

来源:互联网 发布:程序员源代码下载网站 编辑:程序博客网 时间:2024/05/16 08:17

tar命令及解压缩命令

        tar命令

        tar命令是用来建立,还原备份文件的工具程序。利用tar,我们可以为某一个特定的文件创建档案(备份文件),可以改变其中的文件,也可以向其中加入新的文件。tar的作用还可以把许多文件和目录全部打包成一个文件,这是非常适合备份文件和网络传输的。

        用法: tar [选项...] [FILE]...

主操作模式:

-A, --catenate, --concatenate   追加 tar 文件至归档

-c, --create               创建一个新归档,如果要备份文件,就一定要选择这选项。

-d, --diff, --compare      找出归档和文件系统的差异

    --delete               从归档(非磁带!)中删除

-r, --append               追加文件至归档结尾

-t, --list                 列出归档内容,查看归档具体有哪些文件

    --test-label           测试归档卷标并退出

-u, --update               仅追加比归档中副本更新的文件

-x, --extract, --get       从归档中解出文件


压缩选项:

-a, --auto-compress        使用归档后缀名来决定压缩程序

-I, --use-compress-program=PROG    通过 PROG 过滤(必须是能接受 -d选项的程序)

-j, --bzip2                通过 bzip2 过滤归档

-J, --xz                   通过 xz 过滤归档

    --lzip                 通过 lzip 过滤归档

    --lzma                 通过 xz 过滤归档

    --lzop

    --no-auto-compress     不使用归档后缀名来决定压缩程序

-z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档

-Z, --compress, --uncompress   通过 compress 过滤归档


辅助选项:

b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

f 使用档案文件或设备,这个选项通常是必选的。

k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。

m 在还原文件时,把所有文件的修改时间设定为现在。

M 创建多卷的档案文件,以便在几个磁盘中存放。

v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。

w 每一步都要求确认。


        在具体总结各类压缩文件之前呢,首先要 弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另它的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。

  Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲tar命令的基本用法:

  tar命令的选项有很多(用man tar可以查看到),但常用的就那么几个选项,下面来举例说明一下:

  # tar -cf all.tar *.jpg

  这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

  # tar -rf all.tar *.gif

  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

       # tar -uf all.tar logo.gif

  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

  # tar -tf all.tar

  这条命令是列出all.tar包中所有文件,-t是列出文件的意思

  # tar -xf all.tar

  这条命令是解出all.tar包中所有文件,-t是解开的意思

  以上就是tar的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar提供了一种特殊的功能。这就是tar可以在打包或解包的同时调用其它的压缩程序,比如调用gzip、bzip2等。

     1) tar调用gzip

  gzip是GNU组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:

  # tar -czf all.tar.gz *.jpg

  这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz

  # tar -xzf all.tar.gz

  这条命令是将上面产生的包解开。

  2) tar调用bzip2

  bzip2是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。与bzip2相对的解压程序是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下:

  # tar -cjf all.tar.bz2 *.jpg

  这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2

  # tar -xjf all.tar.bz2

  这条命令是将上面产生的包解开。

    3)tar调用compress

  compress也是一个压缩程序,但是好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是bzip2压缩的结果。与compress相对的解压程序是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:

  # tar -cZf all.tar.Z *.jpg

  这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z

  # tar -xZf all.tar.Z

  这条命令是将上面产生的包解开

原创粉丝点击