Linux 的硬鏈接與軟鏈接的區別

   鏈接是指在電子計算機程序的各模塊之間傳遞參數和控制命令,并把它們組成一個可執行的整體的過程。通俗一點無非是把文件名和計算機文件系統使用的節點號鏈接起來。

  linux中鏈接有硬鏈接和軟連接之分,首先我們來介紹硬鏈接,硬鏈接相當于創建了文件的第二個名字,增加了額外的記錄項用來引用文件,還是隸屬與同一文件系統上,是同一個物理文件,且引用相同的節點號。它的創建只引起了鏈接數的增減,而且在執行刪除時也是一樣。但是要確保文件的正常,至少保持一個鏈接數,也就是說一旦創建完成后可作為獨立文件使用。因其隸屬同一個文件系統下,局限了它不能跨驅動器或分區使用,他還不能創建目錄鏈接,因為在Linux中目錄中的.和..也是硬鏈接關系,創建會破壞目錄環。因此硬鏈接具有以下特性:        

文件有相同的 inode 及 data block;

只能對已存在的文件進行創建;

不能交叉文件系統進行硬鏈接的創建;

不能對目錄進行創建,只可對文件創建;

刪除一個硬鏈接文件并不影響其他有相同 inode 號的文件

指定硬鏈接的語法是  ln filename [linkname],注意其順序。

軟鏈接是一個符號指向性文件,即一個符號鏈接指向另一個文件,其大小為指向的路徑字符串的長度,不增減目標文件的節點數。因此具有以下特點:

軟鏈接有自己的文件屬性及權限等;

可對不存在的文件或目錄創建軟鏈接;

軟鏈接可交叉文件系統;

軟鏈接可對文件或目錄創建;

創建軟鏈接時,鏈接計數 i_nlink 不會增加;

刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接(即 dangling link,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接)。

參考文章:http://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/

原創文章,作者:yangtian,如若轉載,請注明出處:http://www.www58058.com/53153

(0)
yangtianyangtian
上一篇 2016-10-20 15:38
下一篇 2016-10-20 19:02

相關推薦

  • 跟我一起學man page、history的使用,剖析FHS(文件系統目錄標準)

    跟我一起學man page、history的使用,剖析FHS(文件系統目錄標準) 描述 從Linux小白鼠成長為高(lao)高(hei)手(shu)的過程中,無論如何都要學會自個兒施法解決問題,法力的高深體現了解決問題的能力,這里的法力指的是在沒有互聯網的環境下如何使用man page或相關文檔找到命令的使用方法和配置文件的修改方法。本文第一部分總結了在Li…

    Linux干貨 2016-07-29
  • yum軟件管理使用詳解

    yum介紹 yum客戶端的使用 配置文件項作說明: 案例repo配置文件。 創建yum源命令(yum-config-manager) yum list相關命令 yum安裝 yum更新和升級 yum查找和顯示 yum刪除程序 查看倉庫 實戰演練本地yum倉庫(光盤) YUM內置變量 創建YUM倉庫(http) yum介紹 yum命令是在Fedora和RedHa…

    Linux干貨 2016-09-06
  • iptables使用示例

    iptables規則

    2017-10-14
  • 初學Linux之 vim 文本編輯器

    vim 的模式切換;命令模式相關操作,拓展命令模式的相關操作;可視化和多窗口;定制vim的工作特性;vim幫助

    2017-12-31
  • magedu_20160804

    文本處理工具和grep過濾工具以及正則表達式    一.文本處理工具相關命令    前面課程中曾經使用過cat,head,tail命令查看相關文件,head,tail分別查看文件開頭、結尾的行信息。對于特定想要顯示的信息則需要特定的文本查看指令,比如cut,sort,paste,uniq等。如下內容分別對每個…

    Linux干貨 2016-08-08
  • Linus Torvalds 語錄 Top 10

    下面是Linux的創始人Linus Torvalds的一些言論,這是我個人認為最有意思的10句。如果你想看更多的Linus Torvalds說過的話,你可以看看他在維基百科上的詞條:Linux Torvalds。我們在下面給出中英文對照,希望你能喜歡。 “Really, I’m not out to dest…

    Linux干貨 2015-04-03
欧美性久久久久