Linux中有兩種類型的鏈接:
硬鏈接是利用Linux中為每個文件分配的物理編號——inode建立鏈接。因此,硬鏈接不能跨越文件系統。(用ls –i命令可以查看目錄下文件的inode編程)。
軟鏈接(符號鏈接)是利用文件的路徑名建立鏈接。通常建立軟鏈接使用絕對路徑而不是相對路徑,以最大限度增加可移植性。
i節點包含了所有與文件有關的信息:文件類型、文件存取許可權位、文件長度和指向該文件所占用的數據塊的指針等,stat結構中的大多數信息都取自 i節點。只有兩數據項存放在目錄項中:文件名和i節點編號數。
因為目錄項中的i節點編號數指向同一文件系統中的 i節點,所以不能使一個目錄項指向另一個文件系統的i節點。硬鏈接不能跨文件系統,軟鏈接可以。即每個文件系統有自己的i節點編號。
圖1:磁盤、分區和文件系統
圖2:較詳細的文件系統
圖3:創建了目錄testdir後的文件系統實例