另外值得一提的是,
tar
打包出来的文件有没有½行压缩所得到文件称呼不同喔!
如果½是打包而已,
就是『
tar -cv -f file.tar
』而已,这个文件我们称呼为
tarfile
。
如果还有½行压缩的支持,例如『
tar
-jcv -f file.tar.bz2
』时,我们就称呼为
tarball (tar
球?
)
!
这只是一个基本的称谓而已,不过很多书籍
与网络都会使用到这个
tarball
的名称!所以得要跟您½绍½绍。
此外,
tar
除了可以½资料打包成为文件之外,还能够½文件打包到某些特别的装置去,举例来说,
磁
带机
(tape)
就是一个常见的例子。磁带机由于是一次性读取
/
写入的装置,因此我们不能够使用类似
cp
等指令来复制的!
那如果想要½
/home, /root, /etc
备份到磁带机
(/dev/st0)
时,就可以使用:『
tar
-cv -f /dev/st0 /home /root /etc
』,很简单容易吧!
磁带机用在备份
(
尤其是企业应用
)
是很常见的工
作喔!
.
特殊应用:利用管线命令与数据流
在
tar
的使用中,有一种方式最特殊,那就是透过标准输入输出的数据流重导向
(standard
input/standard output)
,
以及管线命令
(pipe)
的方式,½待处理的文件一边打包一边½压缩到目标目
录去。
关于数据流重导向与管线命令更详细的数据我们会在
第十章
bash
再跟大家½绍,
底下先来
看一个例子吧!
# 1.
½
/etc
整
个
目
录
一
边
打包一
边
在
/tmp
½
开
[root@study ~]#
cd /tmp
[root@study tmp]#
tar
-
cvf
-
/etc | tar
-
xvf
-
#
这个动
作有
点
像是
cp
-
r /etc /tmp
啦~依
旧
是有其有用途的!
#
要注意的地方在于
输
出
档变
成
-
而
输
入
档
也
变
成
-
,又有一
个
|
存在~
#
这
分
别
代表
standard output, standard input
与管
线
命令啦!
#
简单
的想法中,你可以
½
-
想成是在
内
存中的一
个装
置
(
缓冲区
)
。
#
更
详细
的
数
据流与管
线
命令,
请
翻到
bash
章
½啰
!
在上面的例子中,我们想要『½
/etc
底下的资料直½
copy
到目前所在的路径,也就是
/tmp
底下』,
但是又觉得使用
cp -r
有点麻烦,那么就直½以这个打包的方式来打包,其中,指令里面的
-
就是
表示那个被打包的文件啦!
由于我们不想要让中间文件存在,所以就以这一个方式来½行复制的行
为啦!
.
例题:系统备份范例
系统上有非常多的重要目录需要½行备份,而且其实我们也不½议你½备份数据放置到
/root
目录下!
假设目前你已经知道重要的目录有底下这几个:
.
/etc/ (
配置文件
)
.
/home/ (
用户的家目录
)
.
/var/spool/mail/ (
系统中,所有账号的邮件信箱
)
.
/var/spool/cron/ (
所有账号的工作排成配置文件
)
.
/root (
系统管理员的家目录
)
然后我们也知道,由于
第七章
曾经做过的练习的关系,
/home/loop*
不需要备份,而且
/root
底下的
压缩文件也不需要备份,另外假设你要½备份的数据放置到
/backups
,并且该目录½有
root
有权