Linux軟鏈接和硬連接
在Linux中,存在軟鏈接和硬連接兩種鏈接,兩種鏈接之間存在一些區別,今天來整理一下他們的區別。
軟鏈接和硬鏈接的區別列 | 區別 | 軟鏈接 | 硬鏈接 |
1 | 文件開頭 | 以l開頭 | 沒有規定 |
2 | 權限 | lrwxrwxrwx(所有人擁有所有的權限) | 不一定 |
3 | i節點 | 和源文件i的節點不同 | 和源文件的i節點相同,所以,源文件和硬鏈接的內容修改是 同步的,當然,你運行軟鏈接也是可以看到你的修改的,因爲軟鏈接是指向的源文件的。 |
4 | 跨分區 | 可以跨分區 | 不可以跨分區 |
5 | 鏈接對象 | 可以鏈接目錄和文件 | 不可以鏈接目錄 |
此外,還有一點需要知道的,當源文件被刪除時,此時執行軟鏈接是無效的,就相當於在window中,你的安裝目錄已經沒有了,這時,你再點擊快捷方式,也是無法運行的,但是硬鏈接是可以的,即使你的源文件已經刪除,硬鏈接還是可以使用的,硬鏈接就像是備份了一份一樣,而且,屬性也是不變的,相當於 cp -p+同步修改。下面用一些示例來演示一下。
如圖,我用ln -s創建了一個軟鏈接,ln創建了一個硬鏈接,當我去查看他們的屬性的時候,會發現軟鏈接的i節點號是和源文件不同的,而硬鏈接的i節點號是和源文件相同的。而且,軟鏈接是以l開頭的:lrwxrwxrwx,所有人都有全部權限。
下面我將演示將鏈接建到不同的分區中
如圖,我想在根分區下建一個硬鏈接,但是他的源文件在boot分區下,這時就會報錯。
除了不可以跨分區,硬鏈接也不可以鏈接目錄
即使在同一個位置,硬鏈接也是不可以鏈接到目錄的!!
ok 打完收工!!