歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

深入理解Linux的軟鏈接和硬鏈接

深入理解Linux的軟鏈接和硬鏈接

一直沒有深入了解過鏈接這塊的知識,昨晚有個朋友問我這問題,一下子激發了我的興趣。今天早上過來看了看鳥哥的書然後在stackoverflow上找了一番,感覺自己現在的理解到位了,起碼這樣理解容易記憶。先來做個實驗,在我們的用戶目錄下,建立一個測試文件夾,然後新建一個文件,並創建這個文件的軟鏈接和硬鏈接。如下:

1 vim file1 #新建文件 2 ln -s file1  file1.soft #軟鏈接 3 ln file1 file1.hard  #硬鏈接   緊接著,我偶們看下這三個文件的具體信息:

我們發現軟鏈接的文件屬性是l,而硬鏈接和文件一樣,都是-,並且軟鏈接的文件比較小,而硬鏈接文件大小和原文件一樣。緊接著,我們修改下file1文件,然後接著看文件信息:


我們發現,修改完file1後,file1.hard的修改時間也同步發生變化,但是file1.soft的文件時間信息沒有發生變化。我們再修改下file1.soft文件,然後查看文件信息,同樣發現file1和file1.hard文件的時間信息發生了改變,而file1.soft文件時間信息仍然沒有改變。道理先不講,繼續來。
Linux童鞋他只認識數字,其他的啥都不懂,所以在使用Linux的時候,我們很多地方都對應一個數字,比如進程號、權限值等等,文件在Linux中同樣也是通過數字來標識的,這個數字就叫文件的索引節點(inode),每個文件都有一個唯一的索引節點。我們可以通過“ls -i”來查看文件的inode節點信息,如下:



我們驚奇的發現file1和file1.hard的inode節點值是一樣的,這個時候不知道你是不是恍然大悟,因為他們的inode值一樣,那Linux在更新文件的時候會根據inode去找到相應的文件然後更新,而每次更新都會找到兩個文件。
最後來一句話總結軟鏈接和硬鏈接:
軟鏈接:相當於快捷方式,可以為所有文件建立軟鏈接。
硬鏈接:相當於給文件起了個別名,鏈接文件和源文件其實是同一個文件。不能用於目錄。
 
Copyright © Linux教程網 All Rights Reserved