歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux入門教程:軟鏈接與硬鏈接

Linux入門教程:軟鏈接與硬鏈接

日期:2017/2/28 14:29:53   编辑:Linux教程

文檔總結

1.軟鏈接和硬鏈接的區別:

首席我們通過一個實例直觀的感受一下。

*軟鏈接:

(1)這個是/mnt/file文件詳細信息:

注意最左側file文件的inode號是6294764.我們一會要和鏈接文件進行對比.

(2)建立軟鏈接:

ln -s /mnt/file /root/Desktop(-s 表示軟鏈接)

再鍵入命令ls -il /root/Desktop,/root/Desktop桌面上會出:

好了大家注意一下幾個細節:

1.文件的inode和以前不同了,變成12329279.;

2.文件權限的位置處-變成l,表示這是一個鏈接;

3.文件的大小也發生了不同由65變成了9,而且我對/root/Desktop/file的文件進行編輯後發現它的大小依然還是9.而且file文件指向了/mnt/file

4.最關鍵的一點是:inode的鏈接數目是1,而不是2.

(3)對源文件內容進行監控:

watch cat /mnt/file,原本如圖所示:

然後對/root/Desktop上的file文件進行編輯:

vim /root/Desktop/file,進入vim後發現和/mnt/file的內容相同

當我們對/root/Desktop上的file編輯保存後發現/mnt/file的內容也發生了相同的變化。

*硬鏈接

建立硬鏈接:

硬鏈接我們可把它當作是指針去理解,但是系統是不會為它重新分配inode號的,如圖所示:

可以與源文件進行對比,兩者的inode是相同的。文件大小也是相同的,但是有個小細節變化:鏈接數發生了變化,變成2了。

對於ln命令的操作結果,我們可以這樣去理解,兩個文件其實是同一個文件的兩個不同的名字,就好象是兩個指針指向同一片區域一樣。它們有著同樣的inode號和文件屬性,建立硬鏈接就是在建立新的指針,如果我們要刪除這個文件,必須刪除所有的鏈接,讓inode的數目變為0,此時內核才會把文件從設備中刪除。

硬鏈接有以下限制:

(1)首先不可以在不同的文件系統之間建立硬鏈接;

(2)只有超級用戶才可以為目錄創建應鏈接,如圖所示,我切換到了普通用戶student下執行硬鏈接,發生了報錯:

*軟鏈接與硬鏈接的區別:(這部分是摘抄別人的,因為覺得總結的很全面):

硬鏈接原文件&鏈接文件公用一個inode號,說明他 們是同一個文件,而軟鏈接原文件&鏈接文件擁有不同的inode號,表明他們是兩個不同的文件;

在文件屬性上軟鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫 出來,因為在本質上硬鏈接文件和原文件是完全平等關系;

鏈接數目是不一樣的,軟鏈接的鏈接數目不會增加;

文件大小是不一樣的,硬鏈接文件顯示的大小是跟原 文件是一樣的,這用強調,因為是等同的嘛,而這裡軟鏈接顯示的大小與原文件就不同了,file1大小是48B,而file1soft是5B,這裡面的5實 際上就是“file1”的大小。

總之,建立軟鏈接就是建立了一個新文件。當訪問鏈接文件時,系統就會發現他是個鏈接文件,它讀取鏈接文件找到真正要訪問的文件。

Linux中的硬鏈接和軟鏈接 http://www.linuxidc.com/Linux/2013-07/87664.htm

關於Linux中的軟鏈接和硬鏈接 http://www.linuxidc.com/Linux/2011-05/35888.htm

RHCE系列之文件管理----硬鏈接和軟鏈接 http://www.linuxidc.com/Linux/2014-06/103750.htm

Copyright © Linux教程網 All Rights Reserved