📄 0240tarcompress.htm
字号:
3+1 records in
3+1 records out
[root@linux ~]# <span class=term_command>ll /etc/passwd /tmp/passwd.back</span>
-rw-r--r-- 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r--r-- 1 root root 1746 Aug 29 16:57 /tmp/passwd.back
<span class=term_say># 仔细的看一下,我的 /etc/passwd 档案大小为 1746 bytes,因为我没有设定 bs ,
# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个指令啦~</span>
<span class=term_hd>范例二∶备份 /dev/hda 的 MBR </span>
[root@linux ~]# <span class=term_command>dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1</span>
1+0 records in
1+0 records out
<span class=term_say># 这就得好好了解一下棉~我们知道整颗硬碟的 MBR 为 512 bytes,
# 就是放在硬碟的第一个 sector 啦,因此,我可以利用这个方式来将
# MBR 内的所有资料都纪录下来,真的很厉害吧! ^_^</span>
<span class=term_hd>范例三∶将整个 /dev/hda1 partition 备份下来。</span>
[root@linux ~]# <span class=term_command>dd if=/dev/hda1 of=/some/path/filenaem</span>
<span class=term_say># 这个指令很厉害啊!将整个 partition 的内容全部备份下来~
# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~
# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,
# 则可以利用 dd if=/some/file of=/dev/hda1 来将资料写入到硬碟当中。
# 如果想要整个硬碟备份的话,就类似 Norton 的 ghost 软体一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!</span>
</pre></td></tr></table>
你可以说, tar 可以用来备份关键资料,而 dd 则可以用来备份整颗 partition 或
整颗 disk ,很不错啊~不过,如果要将资料填回到 filesystem 当中,
可能需要考虑到原本的 filesystem 才能成功啊!<br><br>
</div>
<hr><a name=cpio></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>cpio </span><br>
<div class=block2>
这个指令可有趣了!他是透过资料流重导向的方法来将档案进行输出/输入的一个方式~
因为我们尚未提到资料流重导向,所以,您可以先略过这的指令的练习。等到后续的章节读完后,
再来这个章节瞧一瞧!<br>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>cpio -covB > [file|device]</span> <span class=term_note><==备份</span>
[root@linux ~]# <span class=term_command>cpio -icduv < [file|device]</span> <span class=term_note><==还原</span>
<span class=term_say>参数∶
-o ∶将资料 copy 输出到档案或装置上
-i ∶将资料自档案或装置 copy 出来系统当中
-t ∶查看 cpio 建立的档案或装置的内容
-c ∶一种较新的 portable format 方式储存
-v ∶让储存的过程中档案名称可以在萤幕上显示
-B ∶让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大档案的储存速度加快(请参考 i-nodes 的观念)
-d ∶自动建立目录!由于 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u ∶自动的将较新的档案覆盖较旧的档案!
范例∶</span>
<span class=term_hd>范例一∶将所有系统上的资料通通写入磁带机内!</span>
[root@linux ~]# <span class=term_command>find / -print | cpio -covB > /dev/st0</span>
<span class=term_say># 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!</span>
<span class=term_hd>范例二∶检查磁带机上面有什么档案?</span>
[root@linux ~]# <span class=term_command>cpio -icdvt < /dev/st0</span>
[root@linux ~]# <span class=term_command>cpio -icdvt < /dev/st0 > /tmp/content</span>
<span class=term_say># 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 档案去!</span>
<span class=term_hd>范例三∶将磁带上的资料还原回来~</span>
[root@linux ~]# <span class=term_command>cpio -icduv < /dev/st0</span>
<span class=term_say># 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!</span>
<span class=term_hd>范例四∶将 /etc 底下的所有『档案』都备份到 /root/etc.cpio 中!</span>
[root@linux ~]# <span class=term_command>find /etc -type f | cpio -o > /root/etc.cpio</span>
<span class=term_say># 这样就能够备份棉~您也可以将资料以 cpio -i < /root/etc.cpio
# 来将资料捉出来!!!!</span>
</pre></td></tr></table>
这个 cpio 还蛮神奇的呢!他最适用于备份的时候使用的一个指令了!为什么呢?因为他并不像
cp 一样,可以直接的将档案给他 copy 过去,例如 cp * /tmp 就可以将所在目录的所有档案 copy 到
/tmp 底下,在 cpio 这个指令的用法中,由于 cpio 无法直接读取档案,
而是需要『每一个档案或目录的路径连同档名一起』才可以被记录下来!因此,
cpio 最常跟 find 这个指令一起使用了!<br><br>
这个 cpio 好像不怎么好用呦!但是,嘿嘿!他可是备份的时候的一项利器呢!因为他可以备份任何的档案,
包括 /dev 底下的任何装置档案!呵呵!所以他可是相当重要的呢!!您说是吧! 而由于
cpio 必需要配合其他的程式,例如 find 来建立档名,所以,
cpio 与管线命令及资料流重导向的相关性就相当的重要了!<br><br>
</div>
</div>
<hr><a NAME="FAQ"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">本章习题练习</span><br>
(要看答案请将滑鼠移动到『答∶』底下的空白处,按下左键圈选空白处即可察看)
<div class=block1>
</div>
<hr><span class="text_history">
2003/02/09∶第一次完成<br>
2003/05/05∶修改 tar 的部分内容,尤其是 -P 这个参数的配合用法<br>
2005/07/26∶将旧有的文章移动到 <a href="0240tarcompress/0240tarcompress.php">这里</a><br>
2005/07/27∶大略修改了一些风格,另外,动作较大的是在范例的部分!<br>
2005/08/29∶加入了 <a href="#dd">dd</a> 这个有趣的指令喔!<br>
2006/05/02∶将原本『tar -zxvpf /tmp/etc.tar.gz /etc』修改为『tar -zcvpf /tmp/etc.tar.gz /etc』
感谢讨论区网友 chinu 提供的资讯。<br />
</span>
<hr><span class="text_date">2003/02/09以来统计人数</span><br>
<img SRC="http://linux.vbird.org/cgi-bin/Count.cgi?dd=A&ft=0&sh=T&pad=Y&df=vbird_linux_basic_0240tarcompress.dat"
NOSAVE height=15 width=60 align=ABSCENTER><br>
</td>
<td style="width:16px; font-size:6px;
background-image:url('../images/border-middle-right.jpg')"> </td></tr>
<tr><td style="width:16px; height:16px; background-image:url('../images/border-bottom-left.jpg');
font-size:6px"> </td>
<td style="width:750px; height:16px; font-size:6px;
background-image:url('../images/border-bottom-center.jpg')"> </td>
<td style="width:16px; height:16px; background-image:url('../images/border-bottom-right.jpg');
font-size:6px"> </td></tr>
</table>
<div style="padding-top:10px; text-align:center">
<a href="http://linux.vbird.org/" target="_blank"
onmouseover="document.tail_icon1.src='../images/icon_VBird_on.jpg'"
onfocus="document.tail_icon1.src='../images/icon_VBird_on.jpg'"
onmouseout="document.tail_icon1.src='../images/icon_VBird_off.jpg'">
<img alt="前往鸟哥的 Linux 私房菜馆首页" title="前往鸟哥的 Linux 私房菜馆首页" name="tail_icon1"
src="../images/icon_VBird_off.jpg" border="0" /></a>
<a target="_blank" href="http://linux.vbird.org/linux_basic"
onmouseover="document.tail_icon2.src='../images/icon_basic_on.jpg'"
onfocus="document.tail_icon2.src='../images/icon_basic_on.jpg'"
onmouseout="document.tail_icon2.src='../images/icon_basic_off.jpg'">
<img src="../images/icon_basic_off.jpg" border="0"
alt="前往 Linux 基础文件,新手请从头学起"
title="前往 Linux 基础文件,新手请从头学起" name="tail_icon2" /></a>
<a target="_blank" href="http://linux.vbird.org/linux_server"
onmouseover="document.tail_icon3.src='../images/icon_server_on.jpg'"
onfocus="document.tail_icon3.src='../images/icon_server_on.jpg'"
onmouseout="document.tail_icon3.src='../images/icon_server_off.jpg'">
<img src="../images/icon_server_off.jpg" border="0"
alt="前往 Linux 架站文件,网路基础那章节请务必参考!"
title="前往 Linux 架站文件,网路基础那章节请务必参考!" name="tail_icon3" /></a>
<a target="_blank" href="http://linux.vbird.org/linux_security"
onmouseover="document.tail_icon4.src='../images/icon_security_on.jpg'"
onfocus="document.tail_icon4.src='../images/icon_security_on.jpg'"
onmouseout="document.tail_icon4.src='../images/icon_security_off.jpg'">
<img src="../images/icon_security_off.jpg" border="0"
alt="前往『网路安全』相关文件网页" title="前往『网路安全』相关文件网页" name="tail_icon4" /></a>
<a href="http://phorum.vbird.org" target="_blank"
onmouseover="document.tail_icon5.src='../images/icon_forum_on.jpg'"
onfocus="document.tail_icon5.src='../images/icon_forum_on.jpg'"
onmouseout="document.tail_icon5.src='../images/icon_forum_off.jpg'">
<img src="../images/icon_forum_off.jpg" border="0"
alt="前往 Linux 新手讨论区,发问前务必查阅发文规则"
title="前往 Linux 新手讨论区,发问前务必查阅发文规则" name="tail_icon5" /></a>
<a target="_blank" href="http://linux.vbird.org/adsl"
onmouseover="document.tail_icon6.src='../images/icon_adsl_on.jpg'"
onfocus="document.tail_icon6.src='../images/icon_adsl_on.jpg'"
onmouseout="document.tail_icon6.src='../images/icon_adsl_off.jpg'">
<img src="../images/icon_adsl_off.jpg" border="0"
alt="前往『ADSL连线分享』相关文件网页" title="前往『ADSL连线分享』相关文件网页" name="tail_icon6" /></a>
<a href="http://www.study-area.org" target="_blank"
onmouseover="document.tail_icon7.src='../images/icon_study-area.jpg'"
onfocus="document.tail_icon7.src='../images/icon_study-area.jpg'"
onmouseout="document.tail_icon7.src='../images/icon_study-area.jpg'">
<img src="../images/icon_study-area.jpg" border="0"
alt="前往 Study Area 网站" title="前往 Study Area 网站" name="tail_icon7" /></a>
<br />
<div style="padding:0; margin:0">
</div>
<span style="font-size: 80%">
本网页主要以 <a href="http://moztw.org" target="_blank">firefox</a> 配合解析度 1024x768 作为设计依据<br />
<a href="http://linux.vbird.org" target="_top" title="前往鸟哥的首页">http://linux.vbird.org</a>
is designed by <a href="mailto:vbird@mail.vbird.idv.tw" title="联络鸟哥(我不要广告信!)">VBird</a>
during 2001-2007.
<a href="http://aerosol.ev.ncku.edu.tw">Aerosol Lab.</a></span>
</div>
</center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -