- 硬連接和軟連接
- 硬連接:創建硬連接實質上是增加額外的文件名引用該文件,即硬鏈接數有多少個文件名是多少個,如果多個路徑映射表中的文件對應的Inode號相同,這樣的情況下他們彼此之間叫硬連接,只有硬連接數小于1時,文件才為刪除狀態。彼此間互為硬鏈接的文件名對應于同一文件系統上一個物理文件,不能跨越驅動器或分區(每個分區上的inod號會獨立分配,可能兩個分區上的文件的inode號相同,跨分區創建硬鏈接,互為硬鏈接的兩個文件名,都只能指向所在分區的物理磁盤塊,因此他們指向的不是同一文件,導致命令報錯),如下:/app是單獨的分區
- 目錄的硬鏈接:目錄至少有2個硬鏈接,對其創建子目錄時能夠增加硬鏈接數
- 文件的硬鏈接:ln filename [linkname],給filename創建一個叫linkname的硬連接,不能給目錄創建命令來創建硬鏈接,硬連接相對路徑可以相對當前路徑,也可以是相對linkname的路徑
- 軟連接(windows中的快捷方式):在元數據Inode的條目中存的不是數據塊的號碼的指針,存放的是一個路徑字符串,所以軟連接的大小是路徑字符串的字符個數
- ln -s filename [linkname]:創建軟連接,filename可以是絕對路徑也可以是相對路徑
- 使用相對路勁時要注意:當使用相對路徑來創建軟連接的時候,會出現一下錯誤,是因為在創建的時候,./表示相對的當前目錄/root,而創建好了后,軟連接指向的文件或者文件夾,./又是表示相對的當前目錄/app,因為在/app下找不到dir1而報錯;../root/Desktop在創建之前表示當前目錄(/root)的父目錄(/)下的/root/Desktop,創建之后表示當前目錄(/dir1/dir2/)的父目錄(/dir1)下的/root/Desktop,由于dir1下沒有/root/Desktop而出錯
- 對ll 查看軟連接,加/和不加的區別,如果軟連接指向的是一個目錄的時候,加/就進入了該目錄中,不加表示軟連接本身
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94893