日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下不創(chuàng)建文件夾的硬鏈接的兩個原理

Linux 系統(tǒng)中有軟鏈接和硬鏈接兩種特殊的“文件”,軟鏈接可以看作是Windows中的快捷方式,可以讓你快速鏈接到目標(biāo)檔案或目錄,硬鏈接則透過文件系統(tǒng)的inode來產(chǎn)生新檔名,而不是產(chǎn)生新檔案。

使用方面考慮,會產(chǎn)生遞歸黑洞,舉例:

文件夾 a,b,在a下面創(chuàng)建b文件夾得硬鏈接c,在b下面創(chuàng)建a文件夾的硬鏈接d,

ls a ,會看到c,ls c,看到b下的文件夾d,再ls d又看到c,這樣可以無限ls下去

軟連接在訪問時readlink有遞歸次數(shù)的限制,硬鏈接就是普通inode,所以沒辦法記錄遞歸次數(shù)

代碼實(shí)現(xiàn)角度

代碼實(shí)現(xiàn)方面應(yīng)該是可以做到的。首先pwd不是由文件系統(tǒng)拼接路徑的,而是記錄在一個全局變量中,所以cd 。。 的時候只是需要獲得上一級目錄inode的屬性來檢查權(quán)限,或者顯示屬性信息。路徑只需要簡單運(yùn)算就可以得到。

每個路徑都對應(yīng)一個dentry,即使是相同的inode,如果是不同path,那么dentry是不同的,dentry在內(nèi)存中的hashtable是通過父目錄的dentry來hash,而不是父目錄inode,

path_walk的過程中,如果父目錄是軟連接,則會readlink找到被連接的父目錄inode,再用該inode來獲取名字空間。


網(wǎng)站名稱:Linux下不創(chuàng)建文件夾的硬鏈接的兩個原理
當(dāng)前地址:http://www.5511xx.com/article/dhesjce.html