M20 – 1- 第二周(2):硬鏈接與軟鏈接的區別

在講硬鏈接與軟鏈接的區別之前,我們首先了解inode,了解inode讓我們更容易理解何為硬鏈接和軟鏈接。

inode概念

       何為inode,inode就是索引節點,而inode表中存放著文件的元數據,何為元數據,元數據就是文件名稱、大小、時間戳、所有者、權限、inode等信息,而文件中的內容就是文件的數據,因此文件是由元數據(metadata)和數據(data)組成。Inode到底有什么用呢,請看下圖:

1.png

我們在查找文件時,是以文件名稱來查找,但是系統無法識別文件名稱,而是以inode號來查找文件的位置,因此 inode 號才是文件的唯一標識而非文件名,文件名僅是為了方便人們的記憶和使用,系統或程序都是通過 文件的inode 號查找到的文件數據塊。

硬鏈接概念

接下來了解一下何為硬鏈接和軟鏈接,硬鏈接:就是一個文件可以有一個或多個文件名。請看下圖:

2.png

是否看了圖2覺得對硬鏈接更容易理解了,硬鏈接其實就是有很多個文件名不一樣,但是元數據都是一樣的,都是指向同一個inode,并由inode號指向文件中的內容(數據),當編輯‘filename1’中的元數據或數據時,而filename2與filename3中的元數據與數據也會跟著改變,請看下圖:

3.png

硬鏈接總結:

  1. 創建硬鏈接會增加額外的記錄項以引用文件

  2. 對應于同一文件系統上一個物理文件

  3. 每個目錄引用相同的inode號

  4. 創建時鏈接數遞增

注意:刪除硬鏈接文件時

  1. rm命令遞減計數的鏈接

  2. 文件要存在,至少有一個鏈接

  3. 當鏈接數為零時,該文件被刪除

  4. 不能跨越驅動器或分區

  5. 語法: ln filename [linkname]

軟鏈接概念

何為軟鏈接,軟鏈接又叫符號鏈接,這個文件包含了另一個文件的路徑名??梢允侨我馕募蚰夸?,可以鏈接不同文件系統的文件。請看下圖:

77.png

從上圖可以看出,軟鏈接的數據也就是另一個硬鏈接的路徑,其數據是引用硬鏈接文件的,但是元數據卻跟硬鏈接不一致,請看下圖:

9.png

是否已經對軟鏈接已經有一個新的認識了呢。

軟鏈接總結:

  1. 一個符號鏈接指向另一個文件

  2. ls – l的 顯示鏈接的名稱和引用的文件

  3. 一個符號鏈接的內容是它引用文件的名稱

  4. 可以對目錄進行

  5. 可以跨分區

  6. 指向的是另一個文件的路徑;其大小為指向的路徑字符串的長度;不增加或減少目標文件inode的引用計數

  7. 語法:ln -s filename [linkname]


接下來是重頭戲,軟鏈接與硬鏈接的區別:

  1. 硬鏈接和原文件沒有什么區別,而且共享一個 inode 號,除了名稱不一致,其它的數據以及元數據均一致;而軟鏈接不共享 inode,有自己獨立的 inode,與原文件的元數據也不一致,但是軟鏈接的數據是引用原文件的數據

  2. 若原文件刪除了,則軟連接則不可以訪問,但是軟鏈接還存在,而硬連接則是可以的,但是硬鏈接次數遞減,而軟軟件不會更改

  3. 由于符號鏈接的特性,導致其可以跨越磁盤分區及文件系統,但硬鏈接不具備這個特性

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

(0)
AleenAleen
上一篇 2016-08-02 10:52
下一篇 2016-08-02 10:52

相關推薦

  • N21沉舟11周作業

    1、請描述一次完整的http請求處理過程; (1) 建立或處理連接:接收請求或拒絕請求 (2) 接收請求: (3) 處理請求:對請求報文進行解析,并獲取請求的資源及請求方法等相關信息 (4) 訪問資源:獲取請求報文中請求的資源 (5) 構建響應報文 (6) 發送響應報文 (7) 記錄日志 …

    Linux干貨 2016-09-26
  • N26-第四周

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。   2.編輯/etc/group文件,添加組hadoop。          3.手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為h…

    2017-02-22
  • 常用RAID級別介紹

    RAID是什么         磁盤陣列(Redundant Arrays of Independent Disks,RAID),磁盤陣列是將多個價格便宜的磁盤按照一定的組合方式組成具有高容量的磁盤組,按照不同的組合方式可以達到不同的效果,如:可以提升磁盤的存取效率,可提高磁盤的…

    Linux干貨 2016-02-14
  • 馬哥教育網絡班21期-第6周課程練習

    第6周課程練習 請詳細總結vim編輯器的使用并完成以下練習題   1、         復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; # cp /etc/rc.d/rc.s…

    Linux干貨 2016-08-30
  • 文件、目錄練習

    將/etc/issue文件的內容轉換為大寫保存到/tmp/issue.out文件中: 將當前系統登錄用戶信息轉換為大寫后保存至/tmp/who.out文件中: 將/root/下文件列表,顯示成一行,文件名之間用空格隔開: file1文件的內容為“1 2 3 4 5 6 7 8 9 10”計算出所有數字的總和: 處理字符串“xt.,| 1 jr#!$mn 2 …

    Linux干貨 2016-08-05
  • 系統管理至grub故障排錯及自建linux

    第二章    系統啟動故障排除     1、grub配置文件寫錯,無法進入系統     步驟:(修復完成后記得修改配置文件為正確的文件)     方法一:進入啟動菜單項后,修改菜單項為正確的內容,然后…

    Linux干貨 2016-09-13
欧美性久久久久