我們通過(guò)ln命令來(lái)創(chuàng)建硬鏈接和軟鏈接。
硬鏈接:ln filename
軟鏈接:ln -s filename
硬鏈接:硬鏈接和原文件的inode號(hào)相同,軟鏈接和源文件的inode號(hào)不同宠哄。
什么是inode?
在linux系統(tǒng)中鞭盟,一切都是文件侣监,文件保存著數(shù)據(jù),那怎么來(lái)確定文件的位置和信息呢歪沃?那就是inode嗦锐,每一個(gè)文件都有一個(gè)inode,inode保存著文件的所有元信息沪曙。
inode包含文件的元信息奕污,具體來(lái)說(shuō)有以下內(nèi)容:
文件的字節(jié)數(shù)
文件擁有者的User ID
文件的Group ID
文件的讀、寫(xiě)液走、執(zhí)行權(quán)限
文件的時(shí)間戳碳默,共有三個(gè):ctime指inode上一次變動(dòng)的時(shí)間,mtime指文件內(nèi)容上一次變動(dòng)的時(shí)間缘眶,atime指文件上一次打開(kāi)的時(shí)間嘱根。
鏈接數(shù),即有多少文件名指向這個(gè)inode
文件數(shù)據(jù)block的位置
所以文件名不是我們?cè)L問(wèn)文件的真正路徑巷懈,真正的路徑保存在inode该抒,文件名可以說(shuō)是inode節(jié)點(diǎn)的一個(gè)別名,易于識(shí)別顶燕。所以當(dāng)我們創(chuàng)建硬鏈接的時(shí)候相當(dāng)于創(chuàng)建了一個(gè)新的別名凑保,指向相同的inode,刪除硬鏈接不會(huì)對(duì)源文件有影響割岛,刪除源文件也不會(huì)對(duì)硬鏈接有影響。而相對(duì)于軟鏈接犯助,創(chuàng)建軟鏈接相當(dāng)于指向的是文件名癣漆,所以刪除源文件的話軟鏈接會(huì)失效。