關于inode;
inode 譯成中文就是索引節點。每個存儲設備或存儲設備的分區(存儲設備是硬盤、軟盤、U盤 ... ... )被格式化為文件系統后,應該有兩部份,一部份是inode,另一部份是Block,Block是用來存儲數據用的。而inode呢,就是用來存儲這些數據的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權限等。inode為每個文件進行信息索引,所以就有了inode的數值。操作系統根據指令,能通過inode值最快的找到相對應的文件。
做個比喻,比如一本書,存儲設備或分區就相當于這本書,Block相當于書中的每一頁,inode 就相當于這本書前面的目錄,一本書有很多的內容,如果想查找某部份的內容,我們可以先查目錄,通過目錄能最快的找到我們想要看的內容。雖然不太恰當,但還是比較形象。
當我們用ls 查看某個目錄或文件時,如果加上-i 參數,就可以看到inode節點了;比如我們前面所說的例子;
[root@localhost ~]# ls -li lsfile.sh
2408949 -rwxr-xr-x 1 root root 7 04-21 12:47 lsfile.sh
lsfile.sh 的inode值是 2408949 ; 查看一個文件或目錄的inode,要通過ls 命令的的 -i參數。
2.10 inode 相同的文件是硬鏈接文件;
在Linux 文件系統中,inode值相同的文件是硬鏈接文件,也就是說,不同的文件名,inode可能是相同的,一個inode值可以對應多個文件。理解鏈接文件并不難,看看例子就會了。在Linux中,鏈接文件是通過ln工具來創建的。
2.11 創建硬鏈接,硬鏈接和源文件關系;
用ln 創建文件硬鏈接的語法:
# ln 源文件 目標文件
下面我們舉一個例子,在這個例子中,我們要為sun.txt 創建其硬鏈接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 來創建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在沒有創建硬鏈接文件sun002.txt的時候,其鏈接個數是1(也就是-rw-r--r--后的那個數值),創建了硬鏈接sun002.txt創建后,這個值變成了2。也就是說,我們每次為sun.txt創建一個新的硬鏈接文件后,其硬鏈接個數都會增加1。
inode值相同的文件,他們的關系是互為硬鏈接的關系。當我們修改其中一個文件的內容時,互為硬鏈接的文件的內容也會跟著變化。如果我們刪除互為硬鏈接關系的某個文件時,其它的文件并不受影響。比如我們把sun.txt刪除后,我們還是一樣能看到sun002.txt的內容,并且sun02.txt仍是存在的。
可以這么理解,互為硬鏈接關系的文件,他們好象是克隆體,他們的屬性幾乎是完全一樣;
下面的例子,我們把sun.txt刪除,然后我們看一下sun002.txt 是不是能看到其內容。
[root@localhost ~]# rm -rf sun.txt
[root@localhost ~]# more sun002.txt
注意:硬鏈接不能為目錄創建,只有文件才能創建硬鏈接。
2.12 軟鏈接的創建,及軟接與源文件的關系;
創建軟鏈接(也被稱為符號鏈接)的語法;
# ln -s 源文文件或目錄 目標文件或目錄
軟鏈接也叫符號鏈接,他和硬鏈接有所不同,軟鏈接文件只是其源文件的一個標記。當我們刪除了源文件后,鏈接文件不能獨立存在,雖然仍保留文件名,但我們卻不能查看軟鏈接文件的內容了。
[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 、所屬文件種類、創建或修改時間等... ...我們來對比一下:
首先 對比一下節點:兩個文件的節點不同;
其次 兩個文件的歸屬的種類不同 linuxsir001.txt是-,也就是普通文件,而linuxsir002.txt 是l,它是一個鏈接文件;
第三 兩個文件的讀寫權限不同 linuxsir001.txt 是rw-r--r-- ,而linuxsir002.txt的讀寫權限是 rwxrwxrwx
第三 兩者的硬鏈接個數相同;都是1
第四 兩文件的屬主和所歸屬的用戶組相同;
第五 修改(或訪問、創建)時間不同;
我們還注意到了linuxsir002.txt 后面有一個標記 ->,這表示linuxsir002.txt 是linuxsir001.txt的軟鏈接文件。
值得我們注意的是:當我們修改鏈接文件的內容時,就意味著我們在修改源文件的內容。當然源文件的屬性也會發生改變,鏈接文件的屬性并不會發生變化。當我們把源文件刪除后,鏈接文件只存在一個文件名,因為失去了源文件,所以軟鏈接文件也就不存在了。這一點和硬鏈接是不同的;
[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的內容;
linuxsir002.txt: 沒有那個文件或目錄 注:得到提示,linuxsir002.txt不存在。
上面的例子告訴我們,如果一個鏈接文件失去了源,就意味著他已經不存在了;
我們可以看到軟鏈接文件,其實只是源文件的一個標記,當源文件失去時,他也就是存在了。軟鏈接文件只是占用了inode來存儲軟鏈接文件屬性等信息,但文件存儲是指向源文件的。
軟件鏈接,可以為文件或目錄都適用。無論是軟鏈接還是硬鏈接,都可以用rm來刪除。rm工具是通用的。
參考資料:http://techcenter.dicder.com/2006/0908/content_185.htm
inode 譯成中文就是索引節點。每個存儲設備或存儲設備的分區(存儲設備是硬盤、軟盤、U盤 ... ... )被格式化為文件系統后,應該有兩部份,一部份是inode,另一部份是Block,Block是用來存儲數據用的。而inode呢,就是用來存儲這些數據的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權限等。inode為每個文件進行信息索引,所以就有了inode的數值。操作系統根據指令,能通過inode值最快的找到相對應的文件。
做個比喻,比如一本書,存儲設備或分區就相當于這本書,Block相當于書中的每一頁,inode 就相當于這本書前面的目錄,一本書有很多的內容,如果想查找某部份的內容,我們可以先查目錄,通過目錄能最快的找到我們想要看的內容。雖然不太恰當,但還是比較形象。
當我們用ls 查看某個目錄或文件時,如果加上-i 參數,就可以看到inode節點了;比如我們前面所說的例子;
[root@localhost ~]# ls -li lsfile.sh
2408949 -rwxr-xr-x 1 root root 7 04-21 12:47 lsfile.sh
lsfile.sh 的inode值是 2408949 ; 查看一個文件或目錄的inode,要通過ls 命令的的 -i參數。
2.10 inode 相同的文件是硬鏈接文件;
在Linux 文件系統中,inode值相同的文件是硬鏈接文件,也就是說,不同的文件名,inode可能是相同的,一個inode值可以對應多個文件。理解鏈接文件并不難,看看例子就會了。在Linux中,鏈接文件是通過ln工具來創建的。
2.11 創建硬鏈接,硬鏈接和源文件關系;
用ln 創建文件硬鏈接的語法:
# ln 源文件 目標文件
下面我們舉一個例子,在這個例子中,我們要為sun.txt 創建其硬鏈接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 來創建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在沒有創建硬鏈接文件sun002.txt的時候,其鏈接個數是1(也就是-rw-r--r--后的那個數值),創建了硬鏈接sun002.txt創建后,這個值變成了2。也就是說,我們每次為sun.txt創建一個新的硬鏈接文件后,其硬鏈接個數都會增加1。
inode值相同的文件,他們的關系是互為硬鏈接的關系。當我們修改其中一個文件的內容時,互為硬鏈接的文件的內容也會跟著變化。如果我們刪除互為硬鏈接關系的某個文件時,其它的文件并不受影響。比如我們把sun.txt刪除后,我們還是一樣能看到sun002.txt的內容,并且sun02.txt仍是存在的。
可以這么理解,互為硬鏈接關系的文件,他們好象是克隆體,他們的屬性幾乎是完全一樣;
下面的例子,我們把sun.txt刪除,然后我們看一下sun002.txt 是不是能看到其內容。
[root@localhost ~]# rm -rf sun.txt
[root@localhost ~]# more sun002.txt
注意:硬鏈接不能為目錄創建,只有文件才能創建硬鏈接。
2.12 軟鏈接的創建,及軟接與源文件的關系;
創建軟鏈接(也被稱為符號鏈接)的語法;
# ln -s 源文文件或目錄 目標文件或目錄
軟鏈接也叫符號鏈接,他和硬鏈接有所不同,軟鏈接文件只是其源文件的一個標記。當我們刪除了源文件后,鏈接文件不能獨立存在,雖然仍保留文件名,但我們卻不能查看軟鏈接文件的內容了。
[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 、所屬文件種類、創建或修改時間等... ...我們來對比一下:
首先 對比一下節點:兩個文件的節點不同;
其次 兩個文件的歸屬的種類不同 linuxsir001.txt是-,也就是普通文件,而linuxsir002.txt 是l,它是一個鏈接文件;
第三 兩個文件的讀寫權限不同 linuxsir001.txt 是rw-r--r-- ,而linuxsir002.txt的讀寫權限是 rwxrwxrwx
第三 兩者的硬鏈接個數相同;都是1
第四 兩文件的屬主和所歸屬的用戶組相同;
第五 修改(或訪問、創建)時間不同;
我們還注意到了linuxsir002.txt 后面有一個標記 ->,這表示linuxsir002.txt 是linuxsir001.txt的軟鏈接文件。
值得我們注意的是:當我們修改鏈接文件的內容時,就意味著我們在修改源文件的內容。當然源文件的屬性也會發生改變,鏈接文件的屬性并不會發生變化。當我們把源文件刪除后,鏈接文件只存在一個文件名,因為失去了源文件,所以軟鏈接文件也就不存在了。這一點和硬鏈接是不同的;
[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的內容;
linuxsir002.txt: 沒有那個文件或目錄 注:得到提示,linuxsir002.txt不存在。
上面的例子告訴我們,如果一個鏈接文件失去了源,就意味著他已經不存在了;
我們可以看到軟鏈接文件,其實只是源文件的一個標記,當源文件失去時,他也就是存在了。軟鏈接文件只是占用了inode來存儲軟鏈接文件屬性等信息,但文件存儲是指向源文件的。
軟件鏈接,可以為文件或目錄都適用。無論是軟鏈接還是硬鏈接,都可以用rm來刪除。rm工具是通用的。
參考資料:http://techcenter.dicder.com/2006/0908/content_185.htm
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
24 | 25 | 26 | 27 | 28 | 29 | 30 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 31 | 1 | 2 | 3 | 4 |
歡迎探討,努力學習Java哈
常用鏈接
留言簿(3)
隨筆分類
- Java(11)
- JSP
- MyEclipse(1)
- Oracle 10g(3)
- Resin
- Spring
- SQL(4)
- Struts(1)
- Tomcat
- XML(2)
- 個人日志(1)
- 學習(5)
- 工作(1)
- 搜索引擎(7)
- 灌水(1)
- 貼圖
- 軟件工程
隨筆檔案
文章分類
文章檔案
Lansing's Download
Lansing's Link
我的博客
搜索
最新評論

- 1.?re: 關于ODBC數據源連接文本
- 評論內容較長,點擊標題查看
- --棱語明
- 2.?re: Oracle 10g TO_DATE() ora-01830 領悟共勉[未登錄]
- 評論內容較長,點擊標題查看
- --訪客
- 3.?re: Oracle 10g TO_DATE() ora-01830 領悟共勉
- 人才啊!
- --歲月無聲
- 4.?re: Struts框架技術在J2EE中的研究和應用[未登錄]
- dfetetgfgf
- --aa
- 5.?re: 關于ODBC數據源連接文本 [未登錄]
-
“坐在巷口的那對男女”呵呵 @blackbat
- --lansing