linux 軟串連/硬串連__linux

來源:互聯網
上載者:User

永久連結和軟串連的區別:

要說明這個問題,先說明下liunx下檔案和目錄的本質。

在liunx上,目錄也是檔案的一種,它是儲存了一張表的檔案。例如有一個叫程式的檔案夾,裡面有兩個檔案1和2.在那張目錄表內。它的內容是這樣的

名稱 節點

1    338

2    228

那麼什麼是節點呢。c語言我們都學過,我們簡單地把節點號理解成一個數組的下標,把記憶體看成一個大數組,每個檔案都可以看成一個數組中的一個元素,而知道了節點號,就可以找到了實質的檔案內容。

 

有了以上的認識,就可以進一步地解釋永久連結:

永久連結的書寫格式是:ln 目標檔案名 連結名

那麼它的過程是怎麼樣的呢。

例如我們輸入:ln 3 2

那麼,在同個目錄表下增加一項

名稱 節點

1 338

2 228

3 228

這時候,檔案3也指向了跟2一樣的記憶體塊,也就是說跟2的內容是完全一樣的。

而軟串連又是怎麼回事呢。

這裡得說明,軟串連和永久連結也是特殊的檔案,在liunx中的所有都是以檔案表示的,軟串連可以看成一個文字檔,它的內容是儲存目標檔案名的路徑地址。

軟串連的格式是ln -s 目標檔案名 連結名

例如輸入 ln -s 4 2

它的執行過程是這樣的,先把2檔案的路徑名複製到4,執行4時,先從中讀到2的路徑名,找到2這個檔案,然後執行2.所以對4檔案的操作都是對2檔案的操作。

 

Linux系統中,核心為每一個新建立的檔案分配一個Inode(索引結點),每個檔案都有一個惟一的inode號。檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到記憶體在,從而實現檔案的快速存取。用命令ls -i 可查看節點號

永久連結:(hard link)

只針對於檔案,通過索引節點來進行連結,系統中的所有檔案都不會有相同的indoe。如果有相同的indoe那麼這個檔案連結著另一個檔案,內容是相同的並同步,稱為永久連結。可以使用ls –l命令顯示出它的永久連結數。刪掉源檔案,永久連結檔案正常使用。

 

軟串連:(symbolic link)也稱為符號連結

檔案和目錄都可以,軟串連類似於windows下的捷徑,刪掉源檔案後,軟串連將不能正常使用。注意軟串連是檔案夾,當進入這個軟串連下的目錄時,執行一些命令比如cp,目錄是按源檔案目錄計算的,而當前所在目錄還是在這個物理目錄。

 

建立永久連結:#ln 源檔案 目標檔案

建立軟串連:#ln –s 源檔案 目標檔案

 

1.永久連結

#mkdir /test

#cd /test

#touch aaa.txt

#echo “I am system administrator” >> aaa.txt

#ln aaa.txt /test/aaa.txt_hard_link

#ls -il

1144062 -rw-r--r-- 2 root root 26 Feb 20 20:17 aaa.txt

1144062 -rw-r--r-- 2 root root 26 Feb 20 20:17 aaa.txt_hard_link

可以看到兩個檔案的索引節點完全相同,而且永久連結數為2,檔案本身也是1個永久連結數,每增加一個永久連結就加1,而且裡面的內容完全相同

#mkdir bbb

#ln bbb /test/bbb.txt_hard_link

ln: `bbb': hard link not allowed for directory

永久連結是不能對目錄操作

 

如果刪掉aaa.txt源檔案,它的永久連結檔案aaa.txt_hard_link可以正常工作

2.軟連結

#ln –s aaa.txt /test/aaa.txt_soft_link

#ls –il

1144062 -rw-r--r-- 2 root root 26 Feb 20 20:17 aaa.txt

1144062 -rw-r--r-- 2 root root 26 Feb 20 20:17 aaa.txt_hard_link

1144065 lrwxrwxrwx 1 root root 7 Feb 20 20:55 aaa.txt_soft_link -> aaa.txt

檔案類型是l連結檔案,可以對檔案或目錄使用軟串連,刪掉源檔案aaa.txt.它的軟串連檔案aaa.txt_soft_link不能正常使用

檔案連結數:建立出的新檔案它的永久連結數是1,檔案本身是一個永久連結。

目錄連結數:目錄永久連結是2因為目錄本身也是一個永久連結,目錄裡的.點(目前的目錄)也是一個永久連結、

刪除連結

rm -rf symbolic_name 注意不是rm -rf symbolic_name/


備忘:I節點 :它是UNIX內部用於描述檔案特性的資料結構。我們通常稱I節點為檔案索引結點(資訊結點)。i節點 含有關於檔案的大部分的重要訊息,包括檔案資料區塊在磁碟上的地址。每一個I節點有它自己的標誌號,我們稱為檔案順序號。I節點包含的資訊 1.檔案類型 2.檔案屬主關係 3.檔案的存取權限 4.檔案的時間截。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.