怎樣使用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 .
摘自:www.chinaunix.net