真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux中inode

Linux中inode

inode 譯成中文就是索引節(jié)點(diǎn)。每個(gè)存儲設(shè)備或存儲設(shè)備的分區(qū)(存儲設(shè)備是硬盤、軟盤、U盤 ... ... )被格式化為文件系統(tǒng)后,應(yīng)該有兩部份,一部份是inode,另一部份是Block,Block是用來存儲數(shù)據(jù)用的。而inode呢,就是用來存儲這些數(shù) 據(jù)的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權(quán)限等。inode為每個(gè)文件進(jìn)行信息索引,所以就有了inode的數(shù)值。操作系統(tǒng)根據(jù)指令, 能通過inode值最快的找到相對應(yīng)的文件。 

做個(gè)比喻,比如一本書,存儲設(shè)備或分區(qū)就相當(dāng)于這本書,Block相當(dāng)于書中的每一頁,inode 就相當(dāng)于這本書前面的目錄,一本書有很多的內(nèi)容,如果想查找某部份的內(nèi)容,我們可以先查目錄,通過目錄能最快的找到我們想要看的內(nèi)容。雖然不太恰當(dāng),但還是比較形象。 

當(dāng)我們用ls 查看某個(gè)目錄或文件時(shí),如果加上-i 參數(shù),就可以看到inode節(jié)點(diǎn)了;比如我們前面所說的例子; 

[root@localhost ~]# ls -li lsfile.sh 

2408949 -rwxr-xr-x 1 root root 7 04-21 12:47 lsfile.sh 

lsfile.sh 的inode值是 2408949 ; 查看一個(gè)文件或目錄的inode,要通過ls 命令的的 -i參數(shù)。 

inode 相同的文件是硬鏈接文件; 

在Linux 文件系統(tǒng)中,inode值相同的文件是硬鏈接文件,也就是說,不同的文件名,inode可能是相同的,一個(gè)inode值可以對應(yīng)多個(gè)文件。理解鏈接文件并不難,看看例子就會了。在Linux中,鏈接文件是通過ln工具來創(chuàng)建的。 

 創(chuàng)建硬鏈接,硬鏈接和源文件關(guān)系; 

用ln 創(chuàng)建文件硬鏈接的語法: 

# ln 源文件 目標(biāo)文件 

下面我們舉一個(gè)例子,在這個(gè)例子中,我們要為sun.txt 創(chuàng)建其硬鏈接sun002.txt。然后看一下sun.txt和sun002.txt的屬性的變化; 

[root@localhost ~]# ls -li sun.txt 注:查看sun.txt的屬性; 

2408263 -rw-r--r-- 1 root root 29 04-22 21:02 sun.txt 注:這是sun.txt的屬性; 

[root@localhost ~]# ln sun.txt sun002.txt 注:我們通過ln 來創(chuàng)建sun.txt的硬鏈接文件sun002.txt 

[root@localhost ~]# ls -li sun* 注:我們列一下sun.txt 和sun002.txt 

2408263 -rw-r--r-- 2 root root 29 04-22 21:02 sun002.txt 

2408263 -rw-r--r-- 2 root root 29 04-22 21:02 sun.txt 

我們可以看到sun.txt在沒有創(chuàng)建硬鏈接文件sun002.txt的時(shí)候,其鏈接個(gè)數(shù)是1(也就是-rw-r--r--后的那個(gè)數(shù)值),創(chuàng)建了硬鏈接 sun002.txt創(chuàng)建后,這個(gè)值變成了2。也就是說,我們每次為sun.txt創(chuàng)建一個(gè)新的硬鏈接文件后,其硬鏈接個(gè)數(shù)都會增加1。 

inode值相同的文件,他們的關(guān)系是互為硬鏈接的關(guān)系。當(dāng)我們修改其中一個(gè)文件的內(nèi)容時(shí),互為硬鏈接的文件的內(nèi)容也會跟著變化。如果我們刪除互為硬鏈接 關(guān)系的某個(gè)文件時(shí),其它的文件并不受影響。比如我們把sun.txt刪除后,我們還是一樣能看到sun002.txt的內(nèi)容,并且sun02.txt仍是 存在的。 

可以這么理解,互為硬鏈接關(guān)系的文件,他們好象是克隆體,他們的屬性幾乎是完全一樣; 

下面的例子,我們把sun.txt刪除,然后我們看一下sun002.txt 是不是能看到其內(nèi)容。 

[root@localhost ~]# rm -rf sun.txt 

[root@localhost ~]# more sun002.txt 

注意:硬鏈接不能為目錄創(chuàng)建,只有文件才能創(chuàng)建硬鏈接。 

 軟鏈接的創(chuàng)建,及軟接與源文件的關(guān)系; 

創(chuàng)建軟鏈接(也被稱為符號鏈接)的語法; 

# ln -s 源文文件或目錄 目標(biāo)文件或目錄 

軟鏈接也叫符號鏈接,他和硬鏈接有所不同,軟鏈接文件只是其源文件的一個(gè)標(biāo)記。當(dāng)我們刪除了源文件后,鏈接文件不能獨(dú)立存在,雖然仍保留文件名,但我們卻不能查看軟鏈接文件的內(nèi)容了。 

[root@localhost ~]# ls -li linuxsir001.txt 

2408274 -rw-r--r-- 1 root root 29 04-22 21:53 linuxsir001.txt 

[root@localhost ~]# ln -s linuxsir001.txt linuxsir002.txt 

[root@localhost ~]# ls -li linuxsir001.txt linuxsir002.txt 

2408274 -rw-r--r-- 1 root root 29 04-22 21:53 linuxsir001.txt 

2408795 lrwxrwxrwx 1 root root 15 04-22 21:54 linuxsir002.txt -> linuxsir001.txt 

解釋 

上面的例子,首先我們查看 linuxsir001.txt 的屬性,比如inode 、所屬文件種類、創(chuàng)建或修改時(shí)間等... ...我們來對比一下: 

首先 對比一下節(jié)點(diǎn):兩個(gè)文件的節(jié)點(diǎn)不同; 

其次 兩個(gè)文件的歸屬的種類不同 linuxsir001.txt是-,也就是普通文件,而linuxsir002.txt 是l,它是一個(gè)鏈接文件; 

第三 兩個(gè)文件的讀寫權(quán)限不同 linuxsir001.txt 是rw-r--r-- ,而linuxsir002.txt的讀寫權(quán)限是 rwxrwxrwx 

第三 兩者的硬鏈接個(gè)數(shù)相同;都是1 

第四 兩文件的屬主和所歸屬的用戶組相同; 

第五 修改(或訪問、創(chuàng)建)時(shí)間不同; 

我們還注意到了linuxsir002.txt 后面有一個(gè)標(biāo)記 ->,這表示linuxsir002.txt 是linuxsir001.txt的軟鏈接文件。 

值得我們注意的是:當(dāng)我們修改鏈接文件的內(nèi)容時(shí),就意味著我們在修改源文件的內(nèi)容。當(dāng)然源文件的屬性也會發(fā)生改變,鏈接文件的屬性并不會發(fā)生變化。當(dāng)我們 把源文件刪除后,鏈接文件只存在一個(gè)文件名,因?yàn)槭チ嗽次募攒涙溄游募簿筒淮嬖诹?。這一點(diǎn)和硬鏈接是不同的; 

[root@localhost ~]# rm -rf linuxsir001.txt 注:刪除linuxsir001.txt 

[root@localhost ~]# ls -li linuxsir002.txt 注:查看linuxsir002 的屬性; 

2408795 lrwxrwxrwx 1 root root 15 04-22 21:54 linuxsir002.txt -> linuxsir001.txt 

[root@localhost ~]# more linuxsir002.txt 注:查看linuxsir002.txt的內(nèi)容; 

linuxsir002.txt: 沒有那個(gè)文件或目錄 注:得到提示,linuxsir002.txt不存在。 

上面的例子告訴我們,如果一個(gè)鏈接文件失去了源,就意味著他已經(jīng)不存在了; 

我們可以看到軟鏈接文件,其實(shí)只是源文件的一個(gè)標(biāo)記,當(dāng)源文件失去時(shí),他也就是存在了。軟鏈接文件只是占用了inode來存儲軟鏈接文件屬性等信息,但文件存儲是指向源文件的。 

軟件鏈接,可以為文件或目錄都適用。無論是軟鏈接還是硬鏈接,都可以用rm來刪除。rm工具是通用的。

個(gè)人體會
軟鏈接是另一個(gè)文件,作用可以理解為一個(gè)指針,******作用在這個(gè)文件上的操作除了刪除都直接轉(zhuǎn)向?qū)嶋H指向文件,由于是一個(gè)真實(shí)的文件所以占用磁盤空間
硬鏈接可以認(rèn)為不是一個(gè)文件,它只是實(shí)際文件的一個(gè)別名,它的作用是防止真實(shí)文件被誤操作,給一個(gè)文件建立硬鏈接后,他們互為別名,刪除其中任意一個(gè),
這樣用RM命令只會刪除該別名,實(shí)際文件并不會被刪除。只有鏈接數(shù)為0時(shí),才會刪除原始文件


當(dāng)前文章:Linux中inode
文章路徑:http://weahome.cn/article/ipcdhp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部