硬鏈接和軟鏈接的說明

1、硬鏈接和軟鏈接的區別

   (1)、原理上:

                  【1】 硬鏈接(hard link):

                                                   文件A是文件B的硬鏈接,則A的目錄項中的inode節點號與B的目錄項中的inode節點號相同,即一個inode節點對應兩個不同的文件名,兩個文件名指向同一個文件,A和B對文件系統來說是完全平等的。如果刪除了其中一個,對另外一個沒有影響。每增加一個文件名,inode節點上的鏈接數增加一,每刪除一個對應的文件名,inode節點上的鏈接數減一,直到為0,inode節點和對應的數據塊被回收。

 注:文件和文件名是不同的東西,rm A刪除的只是A這個文件名,而A對應的數據塊(文件)只有在inode節點鏈接數減少為0的時候才會被系統回收。

  軟鏈接(soft link):
  A是B的軟鏈接(A和B都是文件名),A的目錄項中的inode節點號與B的目錄項中的inode節點號不相同,A和B指向的是兩個不同的inode,繼而指向兩塊不同的數據塊。但是A的數據塊中存放的只是B的路徑名(可以根據這個找到B的目錄項)。A和B之間是“主從”關系,如果B被刪除了,A仍然存在(因為兩個是不同的文件),但指向的是一個無效的鏈接。
   (2)、使用限制上:
              【1】 硬鏈接:
                                a:不能對目錄創建硬鏈接,原因有幾種,最重要的是:文件系統不能存在鏈接環(目錄創建時的”..”除外,這個系統可以識別出來),存在環的后果會導致例如文件遍歷等操作的混亂(du,pwd等命令的運作原理就是基于文件硬鏈接,順便一提,ls -l結果的第二列也是文件的硬鏈接數,即inode節點的鏈接數)
                                b:不能對不同的文件系統創建硬鏈接,即兩個文件名要在相同的文件系統下。
                                c:不能對不存在的文件創建硬鏈接,由原理即可知原因。
             【2】 軟鏈接:
                               a.可以對目錄創建軟鏈接,遍歷操作會忽略目錄的軟鏈接。
                               b:可以跨文件系統
                               c:可以對不存在的文件創建軟鏈接,因為放的只是一個字符串,至于這個字符串是不是對于一個實際的文件,就是另外一回事了
   (3)、命令:
                     硬鏈接:ln 源文件名 鏈接名

                     軟鏈接:ln -s 源文件名 鏈接名

2、硬鏈接和軟鏈接的特點:

       【1】硬鏈接:

                        硬鏈接和軟鏈接的說明

       【2】軟連接:

                          硬鏈接和軟鏈接的說明

3、  硬鏈接和軟鏈接的作用
      【1】 硬鏈接:
                         硬鏈接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。只刪除一個連接并不影響節點本身和其它的連接,只有當最后一個連接被刪除后,文件的數據塊及目錄的連接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬連接文件均被刪除。還有如果把鏈接名創建為一個以.開頭的隱藏文件,還能很好的隱藏自己的隱私。
      【2】 軟鏈接:
                         鏈接又稱之為符號連接(Symbolic Link)。軟鏈接文件類似于Windows的快捷方式。它實際上是一個特殊的文件。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。

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

(0)
15872912341587291234
上一篇 2017-07-21 20:32
下一篇 2017-07-22 03:08

相關推薦

  • 端口轉發實例

    什么是端口轉發?      端口轉發(Port forwarding),有時被叫做隧道,是安全殼(SSH) 為網絡安全通信使用的一種方法。端口轉發是轉發一個網絡端口從一個網絡節點到另一個網絡節點的行為,其使一個外部用戶從外部經過一個被激活的NAT路由器到達一個在私有內部IP地址(局域網內部)上的一個端口。 為什么需要端口轉發? …

    2017-04-13
  • 第十二周作業

    1、 請描述一次完整的http請求處理過程;  HTTP:超文本傳輸協議 完整的http請求過程 1)、建立TCP/IP連接:經過3次握手,建立連接或拒絕。 2)、瀏覽器向服務器發送HTTP請求。 3)、瀏覽器發送請求頭信息。 4)、服務器應答:服務器接受請求后,會回送應答。 5)、服務器發送應答頭信息。 6)、服務器向瀏覽器發送數據。 7)、服務…

    2017-05-17
  • Linux哲學思想

    一切皆文件(硬件設備亦如此); 由眾多目的單一的小程序組成,一個程序只做一件事,并且要好; 組合小程序完成復雜任務; 盡可能避免跟用戶交互; 使用文本文件保存配置信息; 提供機制,而非策略。 Linux作為自由軟件(GNU),同時也遵循自由軟件的思想: 自由使用 自由學習和修改 自由分發 自由創建衍生版

    Linux干貨 2016-10-31
  • CentOS6基礎網絡配置

    雖然也可以用命令進行臨時修改(ifconfig來設置IP,用route來配置網關,用hostname來配置主機名等等),但是重啟后會丟失。所以本文主要通過修改相關配置文件來實現: 配置dns、網關、ip地址 修改網卡名字 單網卡多IP配置 多網卡單IP配置 本次系統運行環境:  配置dns、網關、ip地址 首先,我們對網卡配置相關的主要的幾個文件簡…

    Linux干貨 2016-09-06
  • 正則表達式的如何使用

    簡述:正則表達式主要用于文本的搜索,它表示了搜索文本的過濾條件。根據這些條件,對目標文本朱行進行匹配檢查,最后對輸出匹配到符合過濾條件的行。 使用:正確高效的使用正則表達式,需要掌握以下基本知識點         1:語法 grep [OPTION] PATTERN FILE……

    Linux干貨 2017-06-04
  • Storm集群安裝詳解

    storm有兩種操作模式: 本地模式和遠程模式。 本地模式:你可以在你的本地機器上開發測試你的topology, 一切都在你的本地機器上模擬出來;  遠端模式:你提交的topology會在一個集群的機器上執行。 本文以Twitter Storm官方Wiki為基礎,詳細描述如何快速搭建一個Storm集群,其中,項目實踐中遇到的問題及經驗總結,在相應章…

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