刚刚上头我们½压缩都是½整个打包文件的内容全部½开!想象一个情况,如果我只想要½开打包文
件内的其中一个文件而已,
那该如何做呢?很简单的,你只要使用
-jtv
找到你要的档名,然后½该
档名½开即可。
我们用底下的例子来说明一下:
# 1.
先找到我
要的
名,假
½
shadow
文件
好了:
[root@study ~]#
tar
-
jtv
-
f /root/etc.tar.bz2 | grep 'shadow'
----------
root/root 721 2015
-
06
-
17
00:20 etc/gshadow
----------
root/root 1183 2015
-
06
-
17 00:20 etc/shadow
-
----------
root/root 1210 2015
-
06
-
17 00:20
etc/shadow
<==
是我
要的!
----------
root/root 707 2015
-
06
-
17 00:20 etc/gshadow
-
#
先搜
重要的
名!其中那
grep
是『
取』
关键词
的功能!我
们会
在第三篇
明!
#
里您先有
概念即可!那
线
|
配合
grep
可以
关键词
的意思!
# 2.
½该
文件
½
法与
实际
作法如下:
[root@study ~]#
tar
-
jxv
-
f
打包檔
.tar.bz2
待½
开档
[root@study ~]#
tar
-
jxv
-
f /root/etc.tar.bz2 etc/shadow
etc/shadow
[root@study ~]#
ll etc
total 4
----------
. 1 root root 1210 Jun 17 00:20 shadow
#
很有趣!此
½
文件
而已!不
,重
是那
个档
名!你要找到正确的
名。
#
在本例中,你不能
/etc/shadow
!因
为记录
etc.tar.bz2
的并
/
之故!
Tips
在 这个练 习之 前,你 可能 要先 ½前面 练习所 产生 的
/root/etc
删 除才 行!不 然
/root/etc/shadow
会重复存在,而其他的前面实验的文件也会存在,
那就看不出什么鬼~
.
打包某目录,但不含该目录下的某些
文件
之作法
假设我们想要打包
/etc/ /root
这几个重要的目录,但却不想要打包
/root/etc*
开头的文件,因为该文
件都是刚刚我们才½立的备份档嘛!
而且假设这个新的打包文件要放置成为
/root/system.tar.bz2
当然这个文件自己不要打包自己
(
因为这个文件放置在
/root
底下啊!
)
,此时我们可以透过
--exclude
的帮忙!
那个
exclude
就是不包含的意思!所以你可以这样做:
[root@study ~]#
tar
-
jcv
-
f /root/system.tar.bz2
--
exclude=/root/etc*
\
>
--
exclude=/root/system.tar.bz2 /etc /root
上面的指令是一整列的~其实你可以打成:『
tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc*
--exclude=/root/system.tar.bz2 /etc /root
』,如果想要两行输入时,最后面加上反斜杠
(\)
并立刻按下
[enter]
就能够到第二行继续输入了。这个指令下达的方式我们会在第三章再仔细说明。
透过这