BBS水木清华站∶精华区

这里几乎几天就有个人问如何解*.tar.gz/*.tgz档,所以我将这部份的 
说明写在这里,定期投书. 希望今後可以省下大家的时间和频宽,不需再 
回答这个问题. 
 
如果您还有其他的问题,可以参考: 
  1. UNIX FAQ 中文版 
     ftp://ftp.csie.nctu.edu.tw/pub/CSIE/contrib/cfaq/unix 
  2. UNIX与Internet实用手册 (电子版) 
     telnet bbs.cis.nctu.edu.tw 
     进入後依序选: (0)Announce本站公布栏 
                   作业系统与环境 
                   Unix 
                   关於UNIX的文件 
                   UNIX与Internet实用手册 (电子版) 
 
6.6 备份 --- tar 
 
--- tar至档案 
        学会如何对磁带机下命令之後,要学tar至档案就容易了, 
因为在我们刚才的操作中,/dev/rst1事实上就是被"视为一个档案"来用 
(虽然它事实上是一个磁带机,但使用时的命令语法和档案一样)。 
现在我们要做的就是将输出目的地由/dev/rst1改成想要的档名(例如backup.tar), 
然後重覆一次刚才的步骤。 
 
% cd /u/jypai 
% tar cf backup.tar doc         <-- 将/dev/rst1改为backup.tar,进行tar 
% ls -l backup.tar 
-rw-r--r--  1 jypai       20480 Oct  2 17:34 backup.tar 
% cd /tmp                       <-- 换至/tmp下解tar,以免覆盖掉原来的doc 
% tar xf /u/jypai/backup.tar    <-- 解tar 
% ls doc 
doc: 
Amanda.is.charming      TANet.lst address-book 
GNU-documents.tar       address-book 

 
        一般来说,我们都会顺便将.tar档用compress压缩成.Z档,节省储存空间; 
要还原时,要先uncompress,再解tar: 
 
% compress backup.tar                                      <-- 压缩 
% ls -l backup* 
-rw-r--r--  1 jypai        3085 Oct  2 17:34 backup.tar.Z  <-- 只剩.Z档 
% uncompress backup.tar.Z                                  <-- 解压缩 
% tar xf backup.tar                                        <-- 解tar 
%              
 
        同理,您也可以用gzip/gunzip来代替compress/uncompress, 
不过要注意将来要解压缩的电脑中有没有gunzip可用。 
 
 
--- GNU tar的线上压缩/解压缩 
 
        GNU tar是GNU project所发展的tar版本, 
它增加了许多功能, 
例如线上压缩(在tar的同时进行压缩;若用UNIX标准tar,只能执行完後,另外再进行压缩, 
所以不适用於磁带)、 
remote tar(经由网路,每部电脑都可以利用server上的磁带机进行tar)...等等。 
本小节将介绍最常用到的线上压缩。 
 
        GNU tar不是标准UNIX软体,您必须先确定自己的电脑上有安装。 
方法是执行"tar --help",若是GNU tar,则会显示如下的讯息: 
 
% tar --help                                    <-- 确定您执行到的是GNU tar 
This is GNU tar, the tape archiving program. 
choose one of the following: 
-A, --catenate, 
    --concatenate       append tar files to an archive 
....(略) 

                   
 
        使用GNU tar线上压缩功能,只要增加'z'选项即可, 
下面是一个简单的示范: 
 
% cd /u/jypai 
% tar zcf /tmp/backup.tar.gz doc     <-- 增加'z'(线上压缩)功能 
% cd /tmp 
% tar ztf backup.tar.gz              <-- 增加'z'(线上解压)功能 
doc/Amanda.is.charming 
doc/GNU-documents.tar 
doc/TANet.lst 
doc/address-book 
% tar zxf backup.tar.gz              <-- 增加'z'(线上解压)功能 
 
 
        'z'功能选项的作用是将档案内容交由gzip来做压缩处理, 
GNU tar另外还提供'Z'选项,将压缩处理交由compress来做,例如: 
 
% tar Zcf backup.tar.Z doc 
 

BBS水木清华站∶精华区