[問題] link (ln) 的路徑問題

看板Linux作者 (如果大海能夠)時間13年前 (2012/06/04 12:38), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
各位大大好 最近剛接觸linux,所以主要都是觀察、修改別人的東西來學習 在發此文之前 我有大略翻過網路資料以及用"ln"還有"link"在板上搜尋,但依然沒找到解答 所以才寫了這篇文章,如果有任何不妥,請務必告知,小的會刪文道歉 就ln這指令,我知道的很單純,參數可用f與s 如今我在接觸一隻程式,該程式在etc/目錄下有個a文件(是程式需要的設定檔) 但是該程式的MAKE FILE另開了目錄etc2/,並且在etc2裡有個b檔要連結到a文件 並且程式中存取都是etc2/b檔(etc2跟etc都一樣平起平坐在根目錄) 簡單來說如果在根目錄輸入"ls",可以看到 etc/ etc2/ 而進一步探討各自內容則是 etc/a etc2/b->etc/a 看到這裡我發現了問題所在 因為我按他MAKE FILE弄出來的配置 b根本找不到真正的etc/a 因為"etc2/b->etc/a"這個路徑的意義是,b指向etc2/etc/a 如果我想讓b真的去讀到a,應該要寫b->../etc/a 但那個MAKE FILE或程式,已經擁有實際運作的過去 所以我想請問,是不是我哪裡搞錯了? 是否有什麼方式可以達到ln時,可以指定出絕對的路徑而非相對的路徑? 也代表b指的就是根目錄的etc/a 不論b被移到那裡,都無所謂,他永遠就是指到根目路的etc/a (就不必考慮b與a之間的相對位置了) 有這辦法嗎? 謝謝各位 -- 有種熟悉總在你心裡深處、眼光餘角出現 越是追求越是千里尋不著 日覆一日,漸漸的也就淡忘 實際卻如影隨行、無聲無息的埋藏在潛意識裡‧‧‧ 也許夜深人靜時又會不經意的輕敲你心房 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.220.253

06/04 12:42, , 1F
ln -s /etc/a 你要連結到的地方
06/04 12:42, 1F

06/04 12:42, , 2F
你連結時把絕對路徑打上去即可
06/04 12:42, 2F
我失敗了呢,不知道是不是誤解你的意思 root@wei-Ubuntu-9-10:/# mkdir etc2 root@wei-Ubuntu-9-10:/# cat etc/a <=確定etc/a的存在 It is etc/a!! <=etc/a的內容寫自己位置 root@wei-Ubuntu-9-10:/# ln -s etc/a etc2/b <=製作link root@wei-Ubuntu-9-10:/# cat etc2/b <=試著透過b叫出a的內容 cat: etc2/b: No such file or directory 而如果我在etc2裡又創了etc資料夾並且在etc2/etc裡給了個檔案a 內容一樣寫著a檔的位置,也就是"etc2/etc/a" root@wei-Ubuntu-9-10:/# mkdir etc2/etc root@wei-Ubuntu-9-10:/# vim etc2/etc/a root@wei-Ubuntu-9-10:/# cat etc2/b It is etc2/etc/a 很明顯的,link在創造時,是以b為主的位置去找a 也就是我這篇文章遇到的問題 而MAKE FILE裡在創link時,也是下了 ln -sf etc/a etc/b 也因此我跑程式時,發現程式透過b挖不到a的資料 謝謝大大

06/04 13:34, , 3F
你 mkdir etc2, 怎麼又跑個 etc_ro 出來?
06/04 13:34, 3F
抱歉,這裡純粹筆誤,因為我本身程式是_ro,但是為了方便,所以稱2 我是貼上來為了跟文章一致,一個一個去把_ro拿成2

06/04 13:35, , 4F
就 cd /etc2 ; ln -s /etc/a b 就好
06/04 13:35, 4F
不好意思...結果一樣呢 我先進入etc2裡,然後在裡面ln -s etc/a b 但是那個b,他一樣想找etc2裡面的etc/a 我為了保險,就把etc2裡的etc資料夾與b都砍了 然後再次於etc2資料夾裡輸入ln -s etc/a b 此時的b,一樣,就變找不到資料夾了 謝謝~~ --- 我找到問題了 我ln -s etc/a b的指令裡 etc前面少了/ 有了/就成功了...看來我觀念有問題... 請問這是回到根目錄的意思嗎? 謝謝 ※ 編輯: liwmewmew 來自: 122.116.220.253 (06/04 13:47)

06/04 13:50, , 5F
你沒加 /,就會等效變成 ln -s ./etc/a b 而你 /etc2目錄
06/04 13:50, 5F

06/04 13:50, , 6F
並沒有 etc目錄,更沒有其下的etc/a
06/04 13:50, 6F

06/04 13:51, , 7F
^當中 (漏字)
06/04 13:51, 7F
了解了QQ 謝謝大大 ※ 編輯: liwmewmew 來自: 122.116.220.253 (06/04 13:55)

06/04 13:57, , 8F
可以找一下「絕對路徑」與「相對路徑」的資料
06/04 13:57, 8F

06/04 14:28, , 9F
我猜他的script的工作目錄是/, 所以不用加/
06/04 14:28, 9F
文章代碼(AID): #1Fp3knrI (Linux)