软链接和硬链接的解读
1、概念解讀
1.1什么是鏈接?
? ?鏈接是一種在共享文件和訪問它的用戶的若干目錄項(xiàng)之間建立聯(lián)系的方法。Linux 系統(tǒng)中有兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱之為符號(hào)鏈接
1.2什么是軟鏈接?
? ?軟鏈接又稱之為符號(hào)鏈接,軟鏈接文件也是一種文件,文件中包含另外一個(gè)文件的路徑名,而這個(gè)另外文件就是我們要鏈接的原始文件,軟連接好比在Windows中建立的快捷方式。可以是任意文件或目錄,可以鏈接不同文件系統(tǒng)的文件。
1.3什么是硬鏈接?
? ?硬鏈接是一個(gè)指針,指向文件索引節(jié)點(diǎn),系統(tǒng)并不為它重新分配i節(jié)點(diǎn),可以理解為硬鏈接鏈接的就是內(nèi)容存放空間的地址,訪問這個(gè)硬鏈接,就相當(dāng)于訪問這個(gè)內(nèi)容的存放地址了,這和我們?cè)L問我們鏈接的原始文件是一樣的,所以說硬鏈接和硬鏈接鏈接的原始文件之間的區(qū)別不是很大,訪問硬鏈接的原始文件,也就是訪問內(nèi)容在空間中的存放地址。
1.4鏈接概述
(1)對(duì)軟鏈接進(jìn)行讀寫操作的時(shí)候,其實(shí)本質(zhì)就是在對(duì)原始的鏈接對(duì)象進(jìn)行讀寫操作,若是將軟鏈接刪除,則鏈接對(duì)象不會(huì)受到什么影響,若是將鏈接對(duì)象刪除,則鏈接文件會(huì)失效,雖然不會(huì)也消失,但是卻不能訪問。
(2)硬鏈接是已存在文件的另一個(gè)文件,說是克隆文件也不為過,對(duì)硬鏈接文件進(jìn)行讀寫和刪除操作時(shí)結(jié)果和軟鏈接相同。但如果刪除硬鏈接文件的源文件,硬鏈接文件仍然存在,而且保留了原有的內(nèi)容。這時(shí),系統(tǒng)會(huì)忽略它曾經(jīng)是一個(gè)硬鏈接文件,而把它當(dāng)成一個(gè)普通文件。
? ?硬鏈接文件有以下兩個(gè)限制:
? ?1、不允許給目錄創(chuàng)建硬鏈接。
? ?2、只有在同一個(gè)文件系統(tǒng)(即同一個(gè)分區(qū))中的文件之間才能創(chuàng)建鏈接。
(3)硬鏈接和軟鏈接文件的區(qū)別
? ?硬鏈接記錄的是目標(biāo)的i節(jié)點(diǎn) ,軟鏈接記錄的是目標(biāo)的路徑。軟鏈接就像是快捷方式,硬鏈接就像是備份。軟鏈接可以做跨分區(qū)的鏈接,硬鏈接只可以 做本分區(qū)的鏈接。
2、使用命令創(chuàng)建鏈接
? ?創(chuàng)建鏈接的命令是:ln
格式:】# ?ln ?[選項(xiàng)][鏈接對(duì)象][鏈接文件]
命令中選項(xiàng)的含義:
-i:交互模式,覆蓋時(shí)征求用戶的意見。
-s:創(chuàng)建符號(hào)鏈接(即軟鏈接)而不是硬鏈接。
舉例:
a、硬鏈接
[root@linux-6 luam]# echo hello >a
[root@linux-6 luam]# ls
a
[root@linux-6 luam]# cat a
hello
[root@linux-6 luam]# ln a b ? ? ?//建立一個(gè)硬鏈接,b是a的硬鏈接文件。
[root@linux-6 luam]# ls
a ?b
[root@linux-6 luam]# ls -l
total 8
-rw-r--r--. 2 root root 6 Jan 24 07:25 a
-rw-r--r--. 2 root root 6 Jan 24 07:25 b
[root@linux-6 luam]# ? ?
? ? ? ? ? ? ? ? ? ? ?//硬鏈接文件的兩個(gè)文件的屬性都是一樣的。 ? ? ? ? ? ? ?
b、軟鏈接
[root@linux-6 luam]# ln -s a b ? ? //建立一個(gè)軟鏈接,b是a的軟鏈接文件。
[root@linux-6 luam]# ls
a ?b
[root@linux-6 luam]# ls -l
total 4
-rw-r--r--. 1 root root 6 Jan 24 07:25 a
lrwxrwxrwx. 1 root root 1 Jan 24 07:30 b -> a
[root@linux-6 luam]# ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? //軟鏈接文件的兩個(gè)文件屬性是不同的。鏈接文件容量很小,因?yàn)樗皇且粋€(gè)指向源文件的快捷方式。
注:本文參考了《Linux 實(shí)用教程》 人民郵電出版社出版。
注:本人熱愛Linux,愿意和各位linux愛好者交流,有意者加我QQ:2306810955,驗(yàn)證碼:linux。可以更深的交流。期待和您一起探討linux的知識(shí)。
指導(dǎo)老師:雙星科技馮老師
轉(zhuǎn)載于:https://blog.51cto.com/luamin1992/1388764
總結(jié)
以上是生活随笔為你收集整理的软链接和硬链接的解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 事务之五:Spring @Transac
- 下一篇: Redis学习手册(实例代码)