Unix操作系統(tǒng)硬鏈接與符號鏈接的區(qū)別
Unix操作系統(tǒng)有很多值得學習的地方,這里我們主要介紹Unix操作系統(tǒng)中的硬鏈接與符號鏈接的區(qū)別,大家一起來學習下吧!硬鏈接典型的特征就是,所有文件的i節(jié)點號是一樣的;硬鏈接不是文件拷貝,只是增加了一個i節(jié)點鏈接(或者說增加了一個入口指針),所有的硬鏈接都是權力(權限,大?。┚鹊模薷娜我庖粋€,其他也被修改。
i節(jié)點結(jié)構中有一個很重要的字段就是鏈接數(shù)。所以刪除一個文件,不一定就會真的釋放其i節(jié)點,刪除文件其實是在目錄文件中,根據(jù)文件名找到對應的i節(jié)點,先把i節(jié)點鏈接數(shù)減一,再刪除目錄結(jié)構中文件記錄,當且僅當i節(jié)點接數(shù)為0時,才真的釋放對應的i節(jié)點。
總結(jié)一下硬鏈接與符號鏈接的區(qū)別:
1、硬鏈接是通過i節(jié)點來關聯(lián)文件;
不同的文件系統(tǒng)都有自己獨立的i節(jié)點,所以硬鏈接不能跨越文件系統(tǒng),不能指向目錄;
2、符號鏈接是通過文件名來關聯(lián)文件;
即便是原文件刪除,符號鏈接依然可以存在,但是指向是空。只是可以獨立于原文件而存在,新建文件后可以自動指向新的文件。符號鏈接可以跨越文件系統(tǒng),可以指向目錄。
3、硬鏈接用ln創(chuàng)建,符號鏈接用ln -s創(chuàng)建;
4、符號鏈接類似windows里的快捷方式,硬鏈接有點類似共享;
5、lstat()可以獲取鏈接文件本身的信息,stat()函數(shù)獲取指向文件的信息。
Unix操作系統(tǒng)的鏈接的知識,我們就講解到這里了。
【編輯推薦】