在 Linux 檔案系統中,「連結」讓同一份資料能以多個路徑存取。依實現方式分為硬連結與符號連結(軟連結)。本文詳細說明兩者差異、建立指令、適用情境與權限注意事項。
| 特性 | 硬連結 | 軟連結 |
|---|---|---|
| 指令 | ln 來源 目標 | ln -s 來源 目標 |
| Inode | 與來源檔案相同 | 獨立新 inode |
| 跨檔案系統 | 不可 | 可 |
| 連結目錄 | 不可(需 root 且有風險) | 可 |
| 來源刪除後 | 資料仍存在(連結計數 -1) | 連結失效(斷連結) |
| 磁碟空間 | 不額外佔用資料區塊 | 佔用少量 inode 與路徑字串 |
# 硬連結
ln [選項] 來源檔案 目標檔案
# 軟連結(符號連結)
ln -s [選項] 來源檔案 目標檔案
# 常用選項
-f, --force # 強制覆蓋已存在的目標
-i, --interactive # 覆蓋前詢問
-v, --verbose # 顯示處理過程
-n, --no-dereference # 目標為連結時視為一般檔案
ln -s /home/fei/workspace /var/www/workspace
瀏覽 /var/www/workspace 即存取 /home/fei/workspace 內容。ln /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
修改任一檔案,另一檔案同步變更;刪除原檔,備份仍保有完整內容。cd /target/dir
ln -s /source/dir/* .
w)。ls -l 可識別:軟連結顯示 lrwxrwxrwx 並標示 -> 來源路徑;硬連結顯示為一般檔案,連結計數(第 2 欄)> 1。
善用 ln -s 建立靈活的軟連結可大幅簡化路徑管理;硬連結適合同分區下的備份與版本控制。根據需求選擇正確類型,能讓檔案系統操作更高效。