ln -s 建立軟連結的路徑問題
阿新 • • 發佈:2019-02-20
建立軟連線,是非常簡單的,直接使用ln -s 命令即可,其語法為:ln -s 原始檔案路徑 軟連結檔案路徑。
比如, ln -s a.txt a_soft. 給a.txt建立了連結檔案a_soft。
但是,如果當前所在目錄為/home. 要給該目錄下的a.txt檔案建立一個軟連線a_soft,放在其子目錄B下,首先想到的是這樣:
ln -s ./a.txt ./B/a_soft
結果很不幸,這是錯誤的,創建出來的a_soft檔案時找不到a.txt檔案的。為什麼呢??
這是因為,ln -s建立連結檔案,如果原始檔案路徑時相對路徑,其相對路徑的基準路徑為連結檔案的路徑(這麼理解,是通過連結檔案找到原始檔,因此就是以連結檔案的路徑為當前路徑了)。
解決辦法
(1)原始檔使用絕對路徑: ln -s /home/a.txt ./B/a_soft
(2)原始檔使用相對路徑: ln -s ../a.txt ./B/a_soft (B目錄的上一級目錄是home目錄,目錄下存在a.txt)