亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2258 | 回復(fù): 0
打印 上一主題 下一主題

Unix文件系統(tǒng)研究、三鏈接 [復(fù)制鏈接]

論壇徽章:
1
15-16賽季CBA聯(lián)賽之北控
日期:2022-03-04 22:35:50
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-03-29 10:43 |只看該作者 |倒序?yàn)g覽

Unix文件系統(tǒng)研究、三鏈接

關(guān)鍵詞:ScoUnix 文件系統(tǒng) 硬鏈接 符號(hào)鏈接

《文件系統(tǒng)研究之二》中提到了文件名是文件i節(jié)點(diǎn)的鏈接,也就是說一個(gè)i節(jié)點(diǎn)可以有多個(gè)鏈接,即多個(gè)文件名,這種鏈接就是所謂的硬鏈接。
除了硬鏈接之外,unix下還有另一種鏈接,稱之為符號(hào)鏈接。

硬鏈接用ln命令創(chuàng)建,符號(hào)鏈接用ln -s創(chuàng)建。

開始之前,先實(shí)踐一把,在scounix試驗(yàn)如下命令:
538# echo "test" >abc
539# l -i abc
65542 -rw-r--r--   1 root     sys            5 Jul  5 04:54 abc
540# ln abc abcnew
541# ln -s abcnew abcs
542# l -i abc*
65542 -rw-r--r--   2 root     sys            5 Jul  5 04:54 abc
65542 -rw-r--r--   2 root     sys            5 Jul  5 04:54 abcnew
65542 -rw-r--r--   2 root     sys            5 Jul  5 04:54 abcs@
可以看到:
1、文件abcnew跟abc的大小,i節(jié)點(diǎn)完全一致;
2、文件abcs跟abcnew的大小,i節(jié)點(diǎn)也一致(注意:abcs的真實(shí)i節(jié)點(diǎn)并不是65542,后面可以看到,這是l程序的原因)
3、注意第三列的數(shù)字2,代表該i節(jié)點(diǎn)有2個(gè)鏈接,不是3個(gè)。

試驗(yàn)二:
558# echo "test2">>abcnew
559# cat abc
test
test2
560# l -ia abc*
65542 -rw-r--r--   2 root     sys           11 Jul  5 05:06 abc
65542 -rw-r--r--   2 root     sys           11 Jul  5 05:06 abcnew
65542 -rw-r--r--   2 root     sys           11 Jul  5 05:06 abcs@
561# rm abc
562# l -ia abc*
65542 -rw-r--r--   1 root     sys           11 Jul  5 05:06 abcnew
65542 -rw-r--r--   1 root     sys           11 Jul  5 05:06 abcs@
可以看到:
1、修改abcnew,abc同樣大小變化,內(nèi)容也同樣變化;
2、刪除abc,不會(huì)刪除abcnew,但是鏈接數(shù)變成1。

試驗(yàn)三:
563# rm abcnew
564# l -ia abc*
65543 lrwxrwxrwx   1 root     sys            6 Jul  5 05:06 abcs@
565# cat abcs
cat: cannot open abcs: No such file or directory (error 2)
567# echo "test3" >abcnew
568# cat abcs
test3
569# l -ia abc*
65542 -rw-r--r--   1 root     sys            6 Jul  5 05:39 abcnew
65542 -rw-r--r--   1 root     sys            6 Jul  5 05:39 abcs@
可以看到:
1、刪除abcnew,abcs還是不會(huì)被刪除;
2、這里可以看出abcs的真實(shí)的i節(jié)點(diǎn)及大小。
3、重建abcnew之后,abcs指向了新的abcnew(i節(jié)點(diǎn)內(nèi)容都變了)。


通過以上試驗(yàn)看出:
硬鏈接典型的特征就是,所有文件的i節(jié)點(diǎn)號(hào)是一樣的;硬鏈接不是文件拷貝,只是增加了一個(gè)i節(jié)點(diǎn)鏈接(或者說增加了一個(gè)入口指針),所有的硬鏈接都是權(quán)力(權(quán)限,大。┚鹊,修改任意一個(gè),其他也被修改。

再回顧下《文件系統(tǒng)研究之一》中提到的i節(jié)點(diǎn)結(jié)構(gòu)。i節(jié)點(diǎn)結(jié)構(gòu)中有一個(gè)很重要的字段就是鏈接數(shù)。
所以刪除一個(gè)文件,不一定就會(huì)真的釋放其i節(jié)點(diǎn),刪除文件其實(shí)是在目錄文件中,根據(jù)文件名找到對應(yīng)的i節(jié)點(diǎn),先把i節(jié)點(diǎn)鏈接數(shù)減一,再刪除目錄結(jié)構(gòu)中文件記錄,當(dāng)且僅當(dāng)i節(jié)點(diǎn)接數(shù)為0時(shí),才真的釋放對應(yīng)的i節(jié)點(diǎn)。

總結(jié)一下硬鏈接與符號(hào)鏈接的區(qū)別:
1、硬鏈接是通過i節(jié)點(diǎn)來關(guān)聯(lián)文件;
不同的文件系統(tǒng)都有自己獨(dú)立的i節(jié)點(diǎn),所以硬鏈接不能跨越文件系統(tǒng),不能指向目錄;
2、符號(hào)鏈接是通過文件名來關(guān)聯(lián)文件;
即便是原文件刪除,符號(hào)鏈接依然可以存在,但是指向是空。只是可以獨(dú)立于原文件而存在,新建文件后可以自動(dòng)指向新的文件。
符號(hào)鏈接可以跨越文件系統(tǒng),可以指向目錄。

3、硬鏈接用ln創(chuàng)建,符號(hào)鏈接用ln -s創(chuàng)建;

4、符號(hào)鏈接類似windows里的快捷方式,硬鏈接有點(diǎn)類似共享;

5、lstat()可以獲取鏈接文件本身的信息,stat()函數(shù)獲取指向文件的信息。

本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/31/showart_511184.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP