Symlink
‘..’ 真正代表什麼?
- centos版本:8.5.2111
- 我現在在這個密碼:
/tmp/new/
- 我需要在
/home/chenchen/Videos/
和之間創建軟連結/tmp/softlink
- 這是我的命令:
ln -s /home/chenchen/Videos/ ../softlink
- 結果:這個軟連結出現在
/home/chenchen/softlink
,但我想它出現在/tmp/softlink
- 顯然,’
..
’ 表示/home/chenchen
在 step.4 命令中- 但是,當我
double-tab
此時使用 : 時,它向我顯示了 此刻ln -s /home/chenchen/Videos/ ../
下的一些文件 ,代表/tmp/``..``/tmp
- 問題:在step4和step7上,為什麼
..
幾乎相同的命令有不同的含義?
這不是
..
有不同的含義,而是shell解釋..
不正確。這裡的問題是 shell 認為它知道你在哪個目錄,但是如果 shell 的 pwd 中的路徑之一是符號連結,並
..
遍歷該符號連結,shell 將刪除路徑組件以生成新目錄,但這實際上可能不正確,實際上遍歷..
會給出不同的結果。如果您將內置 shell 的輸出
pwd
與 external進行比較,您可以更直接地看到這一點/bin/pwd
。在 bash 中,您還可以使用內置pwd -P
的 shell 來獲取真實路徑。