link linux 跨设备,Linux中的两种link方式
Linux系統(tǒng)中包括兩種鏈接方式:硬鏈接(hard link)和符號(hào)鏈接(symbolic link),其中符合鏈接就是所謂的軟鏈接(soft link),那么兩者之間到底有什么區(qū)別呢?
inode
在Linux系統(tǒng)中,內(nèi)核為每一個(gè)新創(chuàng)建的文件分配一個(gè)inode,每個(gè)文件都有一個(gè)惟一的inode,這里將inode簡(jiǎn)單理解成一個(gè)指針,它永遠(yuǎn)指向本文件的具體存儲(chǔ)位置同時(shí),文件屬性保存在inode里,比如owner等。在訪(fǎng)問(wèn)文件時(shí),inode被復(fù)制到內(nèi)存,從而實(shí)現(xiàn)文件的快速訪(fǎng)問(wèn)。系統(tǒng)是通過(guò)inode來(lái)定位每一個(gè)文件。
hard link
hard lin可以理解是一個(gè)指針,它指向源文件的inode,并不會(huì)產(chǎn)生新的inode。hard link不管有多少個(gè),都指向的是同一個(gè)inode節(jié)點(diǎn),只是新建一個(gè)hard link會(huì)把結(jié)點(diǎn)連接數(shù)增加,只要結(jié)點(diǎn)的連接數(shù)不是0,文件就一直存在,不管你刪除的是源文件還是連接的文件。只要有一個(gè)存在,文件就存在(其實(shí)就是引用counter的概念)。當(dāng)你修改源文件或者連接文件任何一個(gè)的時(shí)候,其他的文件都會(huì)做同步的修改。可見(jiàn)下圖的示例。
symbolic link
symbolic link擁有獨(dú)立的inode,是一個(gè)獨(dú)立的文件,而文件的內(nèi)容是源文件的路徑指針,因此可以通過(guò)symbolic訪(fǎng)問(wèn)到源文件,因此刪除符號(hào)鏈接對(duì)源文件沒(méi)有影響,但是刪除了源文件,符號(hào)鏈接文件就無(wú)法找到指向的文件。這里可以想象成Windows中的快捷方式。
對(duì)比
1. 符號(hào)鏈接和源文件操作權(quán)限不一樣;硬鏈接與源文件操作權(quán)限完全一致。
2. 符號(hào)鏈接可以跨文件系統(tǒng)(分區(qū));由于inode的限制以及文件系統(tǒng)的可卸載性,硬鏈接不容許跨文件系統(tǒng)。
3. 符號(hào)鏈接可以對(duì)一個(gè)不存在的文件名進(jìn)行鏈接;硬鏈接不可以。
4. 符號(hào)鏈接可以對(duì)目錄進(jìn)行連接;硬鏈接不可以。
原文:http://www.cnblogs.com/jingyzzz/p/6241139.html
總結(jié)
以上是生活随笔為你收集整理的link linux 跨设备,Linux中的两种link方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 信用卡取现和套现的猫腻 空卡也能取钱?
- 下一篇: 中国银行是中国人民的银行吗