硬鏈接與軟鏈接的聯系與區別:在linux系統上文件被分為兩個部分:元數據和數據。元數據是文件的附加屬性:包括文件大小、創建時間、所有者等信息。在Linux中元數據中的inode號才是文件的唯一標識,而文件名僅是為了方便人們的記憶和使用,系統或程序是通過inode號尋找正確的文件數據塊。為了解決在Linux系統中文件共享使用的問題,在linux系統中引入了兩種鏈接機制:硬鏈接和軟鏈接。若一個inode號對應多個文件名,則稱這些文件為硬鏈接。軟鏈接與硬鏈接不同,若文件數據塊中存放的內容為另一個文件的路徑指向,則該文件就是軟鏈接。換句話說,軟鏈接只是一個普通的文件,該文件有著自己的inode號以及用戶數據塊,只不過數據塊中存儲的信息為另一個文件的路徑。
硬鏈接的特性:1、創建硬鏈接會增加額外的記錄項以引用文件; 2、對應於同一文件系統上一個物理文件; 3、每個目錄引用相同的inode號; 4、創建時鏈接數遞增; 5、不能跨越驅動器或分區; 6、只能對已存在的文件創建硬鏈接硬鏈接語法: ln filename [linkname]
軟鏈接的特性:1、一個符號鏈接指向另一個文件; 2、ls -l顯示鏈接的名稱和引用的文件; 3、一個符號鏈接的內容是它引用文件的名稱; 4、可以對目錄創建軟鏈接; 5、可以跨分區; 6、指向的是另一個文件的路徑;其大小為指向的路徑字符串長度;不增加或減少目標文件inode的引用計數; 7、可以對不存在的文件創建軟鏈接。軟鏈接語法: ln -s filename [linkname]
部分軟鏈接特性演示:部分硬鏈接特性演示: