国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3128|回復(fù): 0
打印 上一主題 下一主題

Linux文件系統(tǒng)的硬鏈接與軟鏈接

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2017-12-6 10:51:18 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)鍵詞: 嵌入式
Linux 系統(tǒng)中有軟鏈接和硬鏈接兩種特殊的文件
軟鏈接可以看作是Windows中的快捷方式,可以讓你快速鏈接到目標(biāo)檔案或目錄。
硬鏈接則透過文件系統(tǒng)的inode來產(chǎn)生新檔名,而不是產(chǎn)生新檔案。
創(chuàng)建方法都很簡單:
1.
軟鏈接(符號(hào)鏈接) ln -s   source  target
2.
3.
硬鏈接 (實(shí)體鏈接)ln       source  target
4.
inode
要解釋清楚兩者的區(qū)別和聯(lián)系需要先說清楚 linux 文件系統(tǒng)中的 inode 這個(gè)東西。當(dāng)劃分磁盤分區(qū)并格式化的時(shí)候,整個(gè)分區(qū)會(huì)被劃分為兩個(gè)部分,即inode區(qū)和data block(實(shí)際數(shù)據(jù)放置在數(shù)據(jù)區(qū)域中)這個(gè)inode即是(目錄、檔案)文件在一個(gè)文件系統(tǒng)中的唯一標(biāo)識(shí),需要訪問這個(gè)文件的時(shí)候必須先找到并讀取這個(gè) 文件的 inodeInode 里面存儲(chǔ)了文件的很多重要參數(shù),其中唯一標(biāo)識(shí)稱作 Inumber, 其他信息還有創(chuàng)建時(shí)間(ctime)、修改時(shí)間(mtime) 、文件大小、屬主、歸屬的用戶組、讀寫權(quán)限、數(shù)據(jù)所在block號(hào)等信息。
通常會(huì)根據(jù)分區(qū)的用途來安排inode的數(shù)量(這是另外一個(gè)話題了),比如文件數(shù)量很多而文件都很小,則需要調(diào)增inode較大,以便能索引全部文件。否則將會(huì)出現(xiàn)這個(gè)分區(qū)并沒有寫滿而無法寫入任何文件的情況。
目錄文件與檔案文件
目錄文件:記錄該目錄下的文件名
檔案文件:記錄實(shí)際文件數(shù)據(jù)
inode本身并不記錄文件名,文件名記錄在目錄文件的block當(dāng)中,所以新增、刪除、更改文件名與目錄的W權(quán)限有關(guān)。因此當(dāng)我們要讀某個(gè)檔案時(shí),就務(wù)必經(jīng)過其目錄inodeblock,然后才能夠找到待讀取檔案的inode號(hào),最終才會(huì)讀到正確的檔案block內(nèi)的數(shù)據(jù)。系統(tǒng)是通過索引節(jié)點(diǎn)(而不是文件名)來定位每一個(gè)文件。
目錄inode(滿足權(quán)限?) => 目錄block => 檔案inode(滿足權(quán)限?) => 檔案block
硬鏈接
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wpsBD0E.tmp.png多個(gè)檔名對應(yīng)同一個(gè)inode,硬鏈接只是在某個(gè)目錄下新增一筆檔名鏈 接到某個(gè)inode號(hào)碼的關(guān)聯(lián)記錄而已。如果將上圖中任何一個(gè)檔名刪除,檔案的inodeblock都還存在,依然還可以通過另一個(gè)檔名來讀取正確的檔 案數(shù)據(jù)。此外,不論用哪一個(gè)檔名來編輯,最終的結(jié)果都會(huì)寫入相同的inodeblock中,因此均能進(jìn)行數(shù)據(jù)的修改。
軟連接
file:///C:\Users\郭曉娟\AppData\Local\Temp\ksohtml\wpsBD1E.tmp.png
軟連接就是建立一個(gè)獨(dú)立的文件,而這個(gè)文件會(huì)讓數(shù)據(jù)的讀取指向它link的那個(gè)檔案的檔名,由于只是作為指向的動(dòng)作,所以當(dāng)來源檔案被刪除之后,軟連接的檔案無法開啟,因?yàn)檎也坏皆紮n名。連結(jié)檔的內(nèi)容只有檔名,根據(jù)檔名鏈接到正確的目錄進(jìn)一步取得目標(biāo)檔案的inode,最終就能夠讀取到正確的數(shù)據(jù)。如果目標(biāo)檔案的原始檔名被刪除了那么整個(gè)環(huán)節(jié)就進(jìn)行不下去了。
下面用一個(gè)實(shí)例來說明硬鏈接和軟鏈接。
現(xiàn)在目錄下有兩個(gè)文件,一個(gè)名為AAA,一個(gè)名為BBB
引用
$ ls -il
963922 -rw-r--r-- 1 ocean ocean 92 2007-05-18 15:46 AAA
963923 -rw-r--r-- 1 ocean ocean 95 2007-05-18 15:46 BBB

首先先做一個(gè)AAA的硬鏈接。
引用
$ ln AAA AAAhard
$ls -il
963922 -rw-r--r-- 2 ocean ocean 92 2007-05-18 15:46 AAA
963922 -rw-r--r-- 2 ocean ocean 92 2007-05-18 15:46 AAAhard
963923 -rw-r--r-- 1 ocean ocean 95 2007-05-18 15:46 BBB
這里我們注意在創(chuàng)建鏈接前,AAA顯示的鏈接數(shù)目為1,創(chuàng)建鏈接后
1.AAAAAAhard的鏈接數(shù)目都變?yōu)?/font>2
2.AAAAAAhardinode號(hào)是一樣的,都是963922
3.AAAAAAhard顯示的文件大小也是一樣,都是92B
可見進(jìn)行了ln命令的操作結(jié)果:AAAAAAhard是同一個(gè)文件的兩個(gè)名字 它們具有同樣的索引節(jié)點(diǎn)號(hào)和文件屬性,建立文件AAA的硬鏈接,就是為 AAA的文件索引節(jié)點(diǎn)在當(dāng)前目錄上建立一個(gè)新指針。嵌入式等系統(tǒng)學(xué)習(xí)加意義氣嗚嗚吧久林就易,你可以刪除其中任何一個(gè),如rm AAA,每次只會(huì)刪除一個(gè)指針,鏈接數(shù)同時(shí)減一,只有將所有指向文件內(nèi)容的指針,也即鏈接數(shù)減為0時(shí),內(nèi)核才會(huì)把文件內(nèi)容從磁盤上刪除。
盡管硬鏈接節(jié)省空間,也是Linux系統(tǒng)整合文件系統(tǒng)的傳統(tǒng)方式,但是存在一些不足之處:
1.不允許給目錄創(chuàng)建硬鏈接。
2.不可以在不同文件系統(tǒng)的文件間建立鏈接。因?yàn)?/font> inode 是這個(gè)文件在當(dāng)前分區(qū)中的索引值,是相對于這個(gè)分區(qū)的,當(dāng)然不能跨越文件系統(tǒng)了。
接著我們做一個(gè)指向BBB的軟鏈接,軟鏈接克服了硬鏈接的不足,沒有任何文件系統(tǒng)的限制,任何用戶可以創(chuàng)建指向目錄的符號(hào)鏈接。因而現(xiàn)在更為廣泛使用,它具有更大的靈活性,甚至可以跨越不同機(jī)器、不同網(wǎng)絡(luò)對文件進(jìn)行鏈接。
引用
$ ln -s BBB BBBsoft
$ ls -il
總用量 0
963922 -rw-r--r-- 2 ocean ocean 92 2007-05-18 15:46 AAA
963922 -rw-r--r-- 2 ocean ocean 92 2007-05-18 15:46 AAAhard
963923 -rw-r--r-- 1 ocean ocean 95 2007-05-18 15:46 BBB
963924 lrwxrwxrwx 1 ocean ocean 3 2007-05-18 15:47 BBBsoft -> BBB
從上面鏈接后的結(jié)果可以看出來軟鏈接與硬鏈接,區(qū)別不僅僅是在概念上,在實(shí)現(xiàn)上也是完全不同的。
區(qū)別:
1.硬鏈接原文件/鏈接文件公用一個(gè)inode號(hào),說明他們是同一個(gè)文件,而軟鏈接原文件/鏈接文件擁有不同的inode號(hào),表明他們是兩個(gè)不同的文件;
2.在文件屬性上軟鏈接明確寫出了是鏈接文件,而硬鏈接沒有寫出來,因?yàn)樵诒举|(zhì)上硬鏈接文件和原文件是完全平等關(guān)系;
3.鏈接數(shù)目是不一樣的,軟鏈接的鏈接數(shù)目不會(huì)增加;
4.文件大小是不一樣的,硬鏈接文件顯示的大小是跟原文件是一樣的。而這里軟鏈接顯示的大小與原文件就不同了,BBB大小是95B,而BBBsoft3B因?yàn)?/font>BBB共有3個(gè)字符
5.軟鏈接沒有任何文件系統(tǒng)的限制,任何用戶可以創(chuàng)建指向目錄的符號(hào)鏈接
總之,建立軟鏈接就是建立了一個(gè)新文件。當(dāng)訪問鏈接文件時(shí),系統(tǒng)就會(huì)發(fā)現(xiàn)他是個(gè)鏈接文件,它讀取鏈接文件找到真正要訪問的文件。
當(dāng)然軟鏈接也有硬鏈接沒有的缺點(diǎn):因?yàn)殒溄游募性募穆窂叫畔ⅲ援?dāng)原文件從一個(gè)目錄下移到其他目錄中,再訪問鏈接文件,系統(tǒng)就找不到了,而硬鏈接就沒有這個(gè)缺陷,你想怎么移就怎么移;還有它要系統(tǒng)分配額外的空間用于建立新的索引節(jié)點(diǎn)和保存原文件的路徑。

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线一区高清在线 | 日本精品视频一区二区 | 亚洲第一成年网 | 日本视频高清免费观看xxx | 国产精品一区二区久久精品 | 自拍1页| 色综合免费视频 | 亚洲图片在线 | 最新日本免费一区二区三区中文 | 97久久精品国产成人影院 | 青青视频国产 | 日本免费观看的视频在线 | 激情亚洲婷婷 | 精品在线观看国产 | 日韩在线视频网站 | 在线观看 欧美 | 99re在线| 午夜久久久久久网站 | 男人和女人真曰批全过程 | 免费福利片 | 男人天堂va| 国产日本欧美在线观看 | 一级有奶水毛片免费看 | 国产成人亚洲综合 | 老鸭窝综合三区 | 国产免费一区不卡在线 | 91啦在线播放 | 天美传谋和果冻传媒最漂亮 | 日本v片免费一区二区三区 日本vr超清在线视频免费 | 亚洲尹人香蕉网在线视颅 | 动漫免费看网站 | 久久这里只有精品免费看青草 | 在线视频欧美亚洲 | 国产精品欧美亚洲韩国日本不卡 | 99热热99 | 久久是精品 | 国产中文在线观看 | 色视频在线网站 | 成人午夜视频网站 | 狠狠做狠狠做综合日日 | 免费看黄色片 |