当前位置:操作系统 > Unix/Linux >>

tar命令

作者: Roast Duck [文章出自: www.phpx.com]

  也谈tar命令

  http://www.chinaunix.net 作者:dadaball 发表于:2003-09-24 21:28:02

  怎样使用tar命令打包(备份)文件?

  A:The syntax of tar is:

  tar [options][files]

  The options used most often with tar are as follows:

  c Creates a new backup,overwriting any files already on the backup destination.

  x Extracts files from backup media.

  t Lists the contents of backup media.

  v Displays the name of each file being processed.

  f Creates backups on a specified device.

  u Adds files to the backup if they are not already there,or if they have been modified since they were last written on the backup.

  步骤:

  1)估算打包文件的大小,确定使用档案媒体(archive media)的空间,用命令du -s

  例如:

  $ lf

  a.out* fork.c mbox time.c

  atoi.c int.c memcpy.c vi

  $ du -s

  296 .

  $

  该例显示的296代表the total number of 512-byte blocks,计算:512*296/1024=148kilobytes.

  2)制作备份,用命令tar cvf /dev/fd0135ds18 .(将该目录下的所有内容备份到1.44英寸软盘中where c causes a new backup to be created,v causes each file to be displayed as the backing up takes place,and f causes the subsequent argument--/dev/fd0135ds18 to be the destination of the backup.)

  注:平时硬盘上的备份,我们一般用命令tar cvf filename.tar .

  例如:

  $ tar cvf wuyd.tar .

  a ./.profile 2 tape blocks

  a ./.lastlogin 0 tape blocks

  a ./mbox 10 tape blocks

  a ./fork.c 2 tape blocks

  a ./memcpy.c 1 tape blocks

  a ./.sh_history 3 tape blocks

  a ./a.out 91 tape blocks

  a ./time.c 1 tape blocks

  a ./vi 169 tape blocks

  a ./int.c 1 tape blocks

  a ./atoi.c 1 tape blocks

  tar: same as archive file: ./wuyd.tar

  a ./.scoadmin.pref 1 tape blocks

  $ lf

  a.out* fork.c mbox time.c wuyd.tar

  atoi.c int.c memcpy.c vi

  我们还可以用命令tar cvf /dev/fd0135ds18 ./filename将该目录下的名为filename的文件备份到archive media中

  怎样列出tar文档的内容?

  A:tar tvf /dev/fd0135ds18

  tar tvf filename.tar

  例如:

  $ tar tvf wuyd.tar

  tar: blocksize = 20

  rw-------203/50 896 Sep 17 15:07 2003 ./.profile

  r--------203/21 0 Sep 24 19:49 2003 ./.lastlogin

  rw-------203/50 4720 Sep 21 11:17 2003 ./mbox

  rw-r--r--203/50 583 Sep 17 15:27 2003 ./fork.c

  rw-r--r--203/50 218 Sep 17 20:22 2003 ./memcpy.c

  rw-------203/50 1474 Sep 24 20:26 2003 ./.sh_history

  rwxr-xr-x203/50 46224 Sep 22 21:00 2003 ./a.out

  rw-r--r--203/50 341 Sep 19 09:02 2003 ./time.c

  rw-r--r--203/50 86283 Sep 21 09:14 2003 ./vi

  rw-r--r--203/50 93 Sep 21 10:53 2003 ./int.c

  rw-r--r--203/50 144 Sep 22 21:00 2003 ./atoi.c

  rw-r--r-- 0/3 41 Sep 23 20:34 2003 ./.scoadmin.pref

  $

  怎样从tar文档中导出文件?

  A:tar xvf /dev/fd0135ds18

  tar xvf filename.tar

  例如:

  $ mkdir uu;cp wuyd.tar ./uu

  $ lf

  a.out* fork.c mbox time.c vi

  atoi.c int.c memcpy.c uu/ wuyd.tar

  $ cd uu

  $ tar xvf wuyd.tar

  tar: blocksize = 20

  x ./.profile, 896 bytes, 2 tape blocks

  x ./.lastlogin, 0 bytes, 0 tape blocks

  x ./mbox, 4720 bytes, 10 tape blocks

  x ./fork.c, 583 bytes, 2 tape blocks

  x ./memcpy.c, 218 bytes, 1 tape blocks

  x ./.sh_history, 1474 bytes, 3 tape blocks

  x ./a.out, 46224 bytes, 91 tape blocks

  x ./time.c, 341 bytes, 1 tape blocks

  x ./vi, 86283 bytes, 169 tape blocks

  x ./int.c, 93 bytes, 1 tape blocks

  x ./atoi.c, 144 bytes, 1 tape blocks

  x ./.scoadmin.pref, 41 bytes, 1 tape blocks

  $

  我们可用命令tar xvf /dev/fd0135ds18 ./filename导出archive media中的单个文件

  例如:

  $ lf

  wuyd.tar

  $ tar xvf wuyd.tar ./time.c

  tar: blocksize = 20

  x ./time.c, 341 bytes, 1 tape blocks

  $ lf

  time.c wuyd.tar

  $

  怎样使用tar命令提供的简写形式?

  A:

  $ more /etc/default/tar

  # @(#) def135.src 25.2 94/07/25

  #

  # Copyright (C) 1987-1994 The Santa Cruz Operation, Inc.

  # All Rights Reserved.

  # The information in this file is provided for the exclusive use of

  # the licensees of The Santa Cruz Operation, Inc. Such users have the

  # right to use, modify, and incorporate this code into other products

  # for purposes authorized by the license agreement provided they include

  # this notice and the associated copyright notice with any such product.

  # The information in this file is provided "AS IS" without warranty.

  #

  # default/tar - archive devices: tar(C)

  #

  # device block size tape

  #

  archive0=/dev/rfd048ds9 18 360 n

  archive1=/dev/rfd148ds9 18 360 n

  archive2=/dev/rfd096ds15 10 1200 n

  archive3=/dev/rfd196ds15 10 1200 n

  # archive4=/dev/rfd096ds9 18 720 n

  archive4=/dev/rfd0135ds9 18 720 n

  archive5=/dev/rfd1135ds9 18 720 n

  # archive5=/dev/rfd196ds9 18 720 n

  archive6=/dev/rfd0135ds18 18 1440 n

  archive7=/dev/rfd1135ds18 18 1440 n

  archive8=/dev/rct0 20 0 y

  archive9=/dev/rctmini 20 0 y

  archive10=/dev/rdsk/fp03d 18 720 n

  archive11=/dev/rdsk/fp03h 18 1440 n

  archive12=/dev/rdsk/fp03v21 10 20330 n

  #

  # The default device in the absence of a numeric or "-f device" argument

  archive=/dev/rfd0135ds18 18 1440 n

  $

  从上面可以看出4代表/dev/rfd0135ds9设备,而默认的设备是/dev/rfd0135ds18,所以tar xvf /dev/rfd0135ds9 ./filename可以简写为tar xv4 ./filename,而tar cvf /dev/fd0135ds18 .可以简写为tar cv .
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,