在講區別前,讓我們先了解下ext檔案系統是如何工作的?
例子:假設在系統查詢 /root/tmp/test 的檔案時,系統是如何一步一步進行的
1、首先找到根目錄的 inode(根目錄的 inode 是系統已知的,inode 號是 2),然後判斷使用者是否有許可權訪問根目錄的 block
2、如果有許可權,則可以在根目錄的 block 中訪問到 root 的檔名及對應的 inode 號
3、通過 root 目錄的 inode 號,可以查詢到 root 目錄的 inode 資訊,接著判斷使用者是否有許可權訪問 root目錄的 block。
4、如果有許可權,則可以在root目錄的 block 中訪問到 tmp 的檔名及對應的 inode 號
5、通過tmp的inode號找到tmp目錄的inode資訊,接著判斷是否有許可權訪問tmp目錄的block
6、如果有許可權,則可以在tmp目錄的block塊中訪問到test的檔名和inode好
7、通過inode號找到test檔案的inode資訊,接著判斷是否有許可權訪問test檔案的block
8、如果有許可權,則可以在test的block資訊。現在問題來了,如果test是普通檔案,如果是軟鏈結,如果是硬鏈結,它們分別是怎麼執行的?
參考c語言中文網
linux硬鏈結與軟鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...
Linux 硬鏈結與軟鏈結
原貼 2007 08 05 10 19 49 linux硬鏈結與軟鏈結 2006 12 01 15 03 首先要弄清楚,在linux系統中,核心為每乙個新建立的檔案分配乙個inode 索引結點 每個檔案都有乙個惟一的inode號。檔案屬性儲存在索引結點裡,在訪問檔案時,索引結點被複製到內存在,從而實...
linux硬鏈結與軟鏈結
1.linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節...