檔案系統:介面

符號連結(symbolic link)

符號連結就像一張便利貼,上面只寫著「你要的檔案在那邊、地址在這裡」,地址清清楚楚寫了出來。便利貼本身沒有任何真實內容——它只是指。如果那個地址上的東西被搬走或刪掉,便利貼還是掛在那裡,只是現在指向空無。符號連結(或軟連結)正是這樣:一個小小的特殊檔案,它的全部內容就是通往另一個檔案的一條路徑名稱。

在機制上,它和硬連結相當不同。符號連結是它自己的一個小檔案、有它自己的 inode,而它存的資料就只是一段文字路徑,例如 /home/alice/report.txt。當作業系統在解析路徑、撞上一個符號連結時,它讀出存著的路徑、再從那裡繼續解析——實際上就是用目標的路徑代換掉這個連結。因為它是用路徑、而非檔案真正的身分來指,符號連結能做硬連結做不到的事:它可以跨不同檔案系統去指、也可以指向目錄。但它也可能懸空——如果你刪除或重新命名目標,連結仍然存在、仍然持有那段舊路徑,而現在循它走過去會失敗,因為那裡什麼都沒有了。

為什麼重要:符號連結對於捷徑、對於把一條眾所周知的路徑重導向到真正檔案目前所在之處、以及對於跨裝置連結,都奇妙地靈活——這些都是硬連結做不到的。誠實的取捨在於可靠性:符號連結就只是一條路徑,所以它對自己的目標既不知情、也沒有任何掌控力。刪除目標不會警告這個連結、也不會釋放什麼特別的東西;你就只是留下一個懸空的連結。要記住的清楚區別是:硬連結是資料的另一個真名、會讓它活著;符號連結只是指向某個名稱的指標、且可能斷掉。

做一個符號連結 latest.log 指向 /var/log/app-2026-06-24.log。讀取 latest.log 就讀到那一天的記錄。明天你把 latest.log 重新指向新一天的檔案。但如果你刪除了目標記錄檔,latest.log 就變成懸空連結——現在開啟它會失敗。

一個內容是路徑的檔案;靈活,但它可能懸空。

符號連結是用路徑而非檔案的身分來指,所以它能跨檔案系統、能指向目錄,但刪除目標會留下毫無警告的懸空連結。這就是它和硬連結的關鍵差異——硬連結會讓資料活著。

又稱
soft linksymlink軟連結符號鏈結