Linux學習筆記--ln連接文件

 
連接文件與Windows系統中“快捷方式”有相似,不過在Linux系統中連接文件分爲
硬連接符號連接
硬連接,只是在某一目錄下的塊多寫入一個關聯數據,不會用掉incode與磁盤空間(
只有當目錄的塊被用完,纔可能會增加一個塊來完成,從而導致磁盤空間發生變化,
這樣的可能性非常小)。
符號連接,我們可以理解成如Windows的快捷方式。符號連接是一個獨立的新文件,
所以佔inode與塊。
:在ext2文件系統中,文件由文件屬性塊(即indoe talbe)和文件內容塊兩區域)

現在測試一下硬連接、符號連接的區別,
先要了解連接文件ln命令的使用:

-b     like --backup but does not accept an argument

       -d, -F, --directory 建立目錄的硬連接。
              allow  the  superuser to attempt to hard link directories (note: will probably
              fail due to system restrictions, even for the superuser)
       
       -s, --symbolic
              make symbolic links instead of hard links 對源文件建立符號連接,而非硬連接 



實際操作:


[root@CentOS4 tmp]# du -sb ; df -i  //顯示當前目錄佔用的容量,和磁盤空間大小
36100131        .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1             917504  113524  803980   13% /
none                  129323       1  129322    1% /dev/shm

[root@CentOS4 tmp]# vi test  //使用vi建立一個測試文件test

Hello everyone!
~
~
~
~
"test" [New] 1L, 16C written  
                                               
[root@CentOS4 tmp]# du -sb ; df -i //顯示當前目錄佔用的容量,和磁盤空間大小
36100147        .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1             917504  113525  803979   13% /
none                  129323       1  129322    1% /dev/shm

[root@CentOS4 tmp]# ln test test-hd //爲test創建硬連接文件test-hd
[root@CentOS4 tmp]# du -sb ; df -i  //查看建立硬件連接文件後的目錄容量和磁盤大小,
這裏我們可以發現,目錄容量磁盤大小都沒有改變。
36100147        .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1             917504  113525  803979   13% /
none                  129323       1  129322    1% /dev/shm


[root@CentOS4 tmp]# ln -s test test-so //爲test創建一個符號連接文件test-so文件
[root@CentOS4 tmp]# du -sb ; df -i     //檢查目錄容量和磁盤大小的時候,我們可以發現這裏
數據已經發生改變。
36100151        .
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1             917504  113526  803978   13% /
none                  129323       1  129322    1% /dev/shm

[root@CentOS4 tmp]# vi test-hd    //這裏使用vi修改test-hd文件的內容,再查看test,test-hd
,test-so是否發生改變。

Hello everyone!
hello baby!
~
~
~
~
"test-hd" 2L, 28C written                                                    
[root@CentOS4 tmp]# cat test   
Hello everyone!
hello baby!
[root@CentOS4 tmp]# cat test-so
Hello everyone!
hello baby!
[root@CentOS4 tmp]# cat test-hd
Hello everyone!
hello baby!
[root@CentOS4 tmp]#


學習資料《鳥哥的Linux私房菜基礎學習篇(第二版)》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章