婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux中文件與目錄對應的硬鏈接與軟鏈接方式總結

Linux中文件與目錄對應的硬鏈接與軟鏈接方式總結

熱門標簽:安陽百應電銷機器人加盟 公司400電話辦理價格 山東企業電銷機器人價格 pageadm實現地圖標注 百度中國地圖標注中心 百度地圖標注開鎖電話 潮州地圖標注 依蘭縣地圖標注app 琿春市地圖標注app

硬鏈接
新建的文件是已經存在的文件的一個別名,當原文件刪除時,新建的文件仍然可以使用。
硬鏈接特征:
1、擁有相同的 i節點 和相同的存儲block快,可以看做是同一個文件
2、可通過i節點識別,i節點號相同
3、不能跨分區
4、不能針對目錄使用
5、刪除文件,硬鏈接正常使用


軟鏈接
另外一種連接稱之為符號連接(Symbolic Link),也叫軟連接。軟鏈接文件有類似于Windows的快捷方式。它實際上是一個特殊的文件。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。
軟鏈接特征:
1、類似windows快捷方式
2、軟鏈接擁有自己的i節點和block快,但是數據塊中只保存原文件的文件名和i節點號,并沒有實際的文件數據
3、lrwxrwxrwx l軟鏈接,軟鏈接文件權限都為rwxrwxrwx,但具體看原文件的權限
4、修改任意文件,另一個都改變
5、刪除原文件,軟鏈接不能使用
6、創建軟鏈接一定要寫絕對路徑
注意軟鏈接的文件權限為777 但是最終權限有源文件決定 l表示軟鏈接文件。
一旦源文件刪除,軟鏈接將不能使用。(這是和硬鏈接的主要區別)
注:創建軟鏈接時,源文件要始終使用絕對路徑,否則,若創建的軟鏈接和源文件不在同一個目錄時,會找不到源文件。(硬鏈接不會有這種情況)
限制少,更靈活,推薦使用。


補充:
linux系統中的硬連接有兩個限制:不能跨越文件系統和不允許普通用戶對目錄作硬連接。至于第一個限制,很好理解,而第二個就不那么好理解 了。 對任何一個目錄用ls -l 命令都可以看到其連接數至少是2,這也說明了系統中是存在硬連接的,而且命令ln -d 也可以讓超級用戶對目錄作硬連接,這些都說明了系統限制對目錄進行硬連接只是一個硬性規定,并不是邏輯上不允許或技術上的不可行。那么操作系統為什么要進 行限制呢?答案可能有兩個。

先來說第一個,如果引入了對目錄的硬連接就有可能在目錄中引入循環,那么在目錄遍歷的時候系統就會陷入無限循環當中。也許您會說,符號連接不也可以引入循 環嗎,那么為什么不限制目錄的符號連接呢?原因就在于在linux系統中,每個文件(目錄也是文件)都對應著一個inode結構,其中inode數據結構 中包含了文件類型(目錄,普通文件,符號連接文件等等)的信息,也就是說操作系統在遍歷目錄時可以判斷出符號連接,既然可以判斷出符號連接當然就可以采取 一些措施來防范進入過大的循環了,系統在連續遇到8個符號連接后就停止遍歷,這就是為什么對目錄符號連接不會進入死循環的原因了。但是對于硬連接,由于操 作系統中采用的數據結構和算法限制,目前是不能防范這種死循環的。

在說明第二個原因之前,先來看看文件的dentry結構在系統空間中長什么樣子和它們是怎么存放在系統空間的。dentry結構主要包含了文件名,文件的inode號,指向父目錄dentry結構的指針和其他一些與本次討論無關的指針,這里關鍵是那個指向父目錄的指針;系統中所有的dentry結構都 是按雜湊值存放在雜湊表中的,這里的雜湊算法很重要,它是取文件名和文件的父目錄dentry結構的地址一起雜湊運算出雜湊值的。現在假設有兩個目錄 /a和/b,其中/b是我們通過ln -d命令建立起來的對/a的硬連接。這個時候內核空間中就會存在一個/a的dentry結構和一個/b的dentry結構,由上面的知識可知,/a和/b 目錄下面的每一個文件或目錄都各自有對應的dentry結構(因為雖然/a目錄下面的文件名沒有改變,但是因為dentry結構有指向父目錄dentry 的指針和計算雜湊值時考慮了父目錄dentry結構的地址,這個時候dentry結構就分身乏術了),而且這種繼承還會影響到所有子目錄下面的文件,這樣 下來就會浪費很多系統空間了,特別是如果被硬連接的目錄中存在大量文件和子目錄的時候就更加明顯了。這也許是第二個原因。

標簽:連云港 公主嶺 常德 香港 晉中 呼和浩特 林芝 三明

巨人網絡通訊聲明:本文標題《Linux中文件與目錄對應的硬鏈接與軟鏈接方式總結》,本文關鍵詞  Linux,中,文件,與,目錄,對應,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux中文件與目錄對應的硬鏈接與軟鏈接方式總結》相關的同類信息!
  • 本頁收集關于Linux中文件與目錄對應的硬鏈接與軟鏈接方式總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 贵德县| 从江县| 白河县| 邵阳县| 孟津县| 贵溪市| 淮南市| 诏安县| 静安区| 澄城县| 乃东县| 金平| 萨迦县| 吉林省| 体育| 迁安市| 南涧| 德化县| 商丘市| 库车县| 灵武市| 博客| 额济纳旗| 罗田县| 石棉县| 太和县| 竹溪县| 三台县| 平塘县| 陆丰市| 中西区| 大方县| 武山县| 阳城县| 永昌县| 博客| 宜章县| 桃园市| 兰州市| 乐都县| 名山县|