濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Unix系統(tǒng)中的硬鏈接和軟鏈接詳解

Unix系統(tǒng)中的硬鏈接和軟鏈接詳解

熱門標(biāo)簽:北海智能電銷機(jī)器人公司 赤峰防封電銷卡 南京自動(dòng)外呼系統(tǒng)有哪些 信陽(yáng)外呼系統(tǒng)廠家 駐馬店電話自動(dòng)外呼系統(tǒng)怎么樣 地圖標(biāo)注與注記總結(jié) 人工電銷和ai機(jī)器人的區(qū)別 地圖標(biāo)注山峰最低高度 地圖標(biāo)注多個(gè)城市

簡(jiǎn)單的說(shuō)連接就是可以指向文件系統(tǒng)中其他位置的一個(gè)快捷方式,它非常有用,可以避免鍵入很長(zhǎng)的路徑名或cd深入到多個(gè)文件夾中,用過(guò)Windows系統(tǒng)桌面的程序圖標(biāo)其實(shí)就是一個(gè)快捷方式,大家也可以這么理解,不過(guò)兩者卻存在某些重大的差別,在unix中的連接形式分為兩種,分別為硬鏈接和軟鏈接。

unix硬鏈接

硬鏈接是一個(gè)目錄條目,它指具有同一個(gè)i-node(硬盤上的物理位置)的另一個(gè)文件。事實(shí)上只存在一個(gè)文件,指向硬盤上同一個(gè)物理數(shù)據(jù)的只有兩虞多個(gè)目錄條目。


復(fù)制代碼
代碼如下:

ln /usr/local/etc/rc.d/nginx nginx

使用該命令在當(dāng)前目錄下創(chuàng)建一個(gè)名為nginx的文件,該文件代表硬盤上的另一個(gè)地址/usr/local/etc/rc.d/nginx?,F(xiàn)在利用目錄當(dāng)前目錄中的nginx就可直接訪問(wèn)同名文件了(當(dāng)然已經(jīng)創(chuàng)建了該連接,如果我們想編輯nginx這個(gè)文件時(shí),我們只需要執(zhí)行“vi nginx”,而不需要執(zhí)行“vi /usr/local/etc/rc.d/nginx”這么長(zhǎng)的文件路徑了,當(dāng)然如果想執(zhí)行時(shí)也無(wú)需要輸入比較長(zhǎng)的路徑了)。

執(zhí)行l(wèi)s -l nginx之后會(huì)發(fā)現(xiàn)硬件鏈接文件權(quán)限和原文件完全一樣,如果直接修改硬鏈接的文件權(quán)限,那么相應(yīng)的原文件權(quán)限也跟著會(huì)修改。

簡(jiǎn)單的說(shuō),文件硬鏈接文件與原文件大小、修改時(shí)間、權(quán)限等都會(huì)相同。

當(dāng)執(zhí)行rm刪除掉硬鏈接文件,那么鏈接數(shù)將會(huì)被減去1,以作出變動(dòng),不過(guò)文件仍然存在,因?yàn)檫€有另一個(gè)連接指向硬件上的同一個(gè)物理位置。只有其所有硬鏈接都被刪除,并且鏈接數(shù)被減至0時(shí),文件才會(huì)被刪除。

腳本之家注:UNIX硬鏈接有兩大局限,不能用于連接目錄,也不能跨越文件系統(tǒng)的范圍。

UNIX軟鏈接

UNIX軟鏈接也稱符號(hào)連接或symlinks,相當(dāng)于Windows系統(tǒng)中的快捷方式。和硬鏈接不同的是,軟鏈接是一個(gè)獨(dú)立的文件,在硬件上有屬于自己的i-node。軟鏈接只是一個(gè)文件,其中包含指向另一個(gè)文件的指針。用ln -s命令即可創(chuàng)建一個(gè)軟鏈接,之后可使用ls -l -b查看文件屬性。


復(fù)制代碼
代碼如下:

ln -s /etc/rc.conf a
ls -l -b

  • 如果想編輯/etc/rc.conf時(shí),就可直接使用軟連接編輯,而不需要輸入那么長(zhǎng)的路徑了,如直接執(zhí)行“vi a” 等同于“vi /etc/rc.conf”。如果在編輯時(shí)提示“No such file or directory(找不到該文件或目錄)”此類的錯(cuò)誤,但在執(zhí)行l(wèi)s命令之后,又可找到該文件,則表明你使用了已成為空鏈接的軟鏈接,也就是說(shuō)目標(biāo)文件或目錄不存在。,用ls -l命令可查看文件是否為軟鏈接。如果是軟連接,可查看連接軟件指向的文件或目錄是否存在。

    腳本之家注:無(wú)法是目標(biāo)文件移動(dòng)走了還是刪除了,軟刪除都將失效。

    UNIX硬鏈接與軟鏈接區(qū)別

    1、訪問(wèn)權(quán)限并不代表對(duì)真實(shí)文件的訪問(wèn)權(quán)限,也不能更改軟連接的屬性(訪問(wèn)權(quán)限擁有都和工作組等)。這些操作只能在真實(shí)文件中進(jìn)行。

    2、連接數(shù)實(shí)際上只有一個(gè),因?yàn)檐浖溄邮且粋€(gè)指向其他文件的真實(shí)文件,它不只是一個(gè)指向硬盤上某個(gè)位置的目錄(硬連接則是)。

    3、文件大小不確認(rèn),軟連接列出的大小是其中包含的連接文件大小,而不是它指向那個(gè)真實(shí)文件的大小。

    4、文件修改時(shí)間也不確切。軟連接告訴我們的是連接最近一次被修改的時(shí)間,并沒(méi)有指出連接所指文件的最近一次修改時(shí)間。

    5、文件名指出,->之后是該文件所指的真實(shí)文件的路徑名稱。

    6、文件的刪除,和硬連接不同的是,如果刪除了軟連接所指的原始文件,那么該文件的數(shù)據(jù)塊也會(huì)被刪除,而連接也會(huì)變?yōu)榭者B接。不過(guò),如果用rm命令來(lái)刪除連接,原始文件則會(huì)安然無(wú)恙。

    7、i-node的占用,和軟連接相比,硬連接的好處是它們不占用i-node。這似乎微不足,但當(dāng)硬盤上可用的i-node數(shù)量有限時(shí)就不一樣了。如果硬盤上有無(wú)數(shù)小文件,這些小文件可能會(huì)用光硬盤上所有的i-node,即使硬盤上還有許多剩余空間,用光i-node之后再也不能創(chuàng)建新文件了,除非刪除某些文件,釋放部分i-node。

    關(guān)于連接使用的選擇,對(duì)于連接的使用最常用的用法是,硬連接用于原始文件和目標(biāo)文件位于當(dāng)前同一個(gè)文件系統(tǒng)。好處是能提供真實(shí)文件的有關(guān)信息,在原始文件被刪除或移動(dòng)時(shí),也不會(huì)成為空連接。但是,如果需要連接目錄或位于另一個(gè)文件系統(tǒng)的文件時(shí),就必須采用軟連接。

  • 標(biāo)簽:晉中 梧州 德陽(yáng) 烏蘭察布 廣元 信陽(yáng) 達(dá)州 張家界

    巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Unix系統(tǒng)中的硬鏈接和軟鏈接詳解》,本文關(guān)鍵詞  Unix,系統(tǒng),中的,硬鏈,接和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Unix系統(tǒng)中的硬鏈接和軟鏈接詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Unix系統(tǒng)中的硬鏈接和軟鏈接詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    峨眉山市| 崇信县| 日土县| 襄汾县| 永修县| 潮州市| 淮滨县| 台前县| 清河县| 遵义县| 栾川县| 玉林市| 乾安县| 曲沃县| 监利县| 肃宁县| 远安县| 新绛县| 伊川县| 绿春县| 天祝| 白山市| 胶南市| 北安市| 鹰潭市| 双城市| 富裕县| 盘锦市| 石家庄市| 吉木乃县| 错那县| 河池市| 钦州市| 连云港市| 广河县| 古浪县| 澄城县| 饶河县| 灵寿县| 信宜市| 盐山县|