Symlink

邏輯工作目錄有什麼好處?

  • April 27, 2017

我了解什麼是邏輯工作目錄。當您創建到目錄的​​符號連結,然後cd使用符號連結到該目錄時,您的邏輯工作目錄將成為符號連結的路徑 + 符號連結本身!例如:

$ pwd
/home/john/this_is_a_symbolic_link

但是邏輯工作目錄到底有什麼好處呢?

一個有點複雜的案例:

例如,在某些系統上,使用者的主目錄可能由自動掛載程序掛載(如在 Solaris 上)。

來自維基百科“Automounter”文章

自動掛載程序的目的是節省本地系統資源並減少與多個伺服器共享文件系統的系統之間的耦合。例如,一個大中型組織可能有數百個文件伺服器和數千個工作站或其他節點,隨時從任意數量的這些伺服器訪問文件。通常,在任何給定時間,任何給定節點上只有相對少量的遠端文件系統(導出)處於活動狀態。將此類文件系統的掛載推遲到程序實際需要訪問它時,可以減少跟踪此類掛載的需要,從而提高可靠性、靈活性和性能。

自動掛載器可能會在諸如或類似路徑下從某個中央文件伺服器掛載NFShome共享,然後在您登錄時創建從(物理主目錄)到(邏輯主目錄)的符號連結。/a``/tmp_mnt``/tmp_mnt/home/steve``/home/steve

home正如 Wikipedia 文章所提到的,這樣做的好處是即使有多個使用者處於活動狀態,也只需要一次安裝NFS 共享。當某人的主目錄不再使用時,符號連結可能會被刪除,當所有使用者都註銷時,掛載的 NFS 共享甚至可能會被完全解除安裝。


一個更簡單的例子:

假設您的空間不足/usr/local。然後,您可以添加新磁碟並將它們掛載為例如/data/disk1/data/disk2. 然後您可能決定複製/usr/local/binto/data/disk1/usr/local/libto的舊內容/disk/data2並重新創建/usr/local/bin/usr/local/lib作為指向這兩個目錄的符號連結。

更改目錄cd /usr/local/bin然後會將您物理移動到/data/disk1但邏輯上您會在/usr/local/bin. 這也具有訪問實用程序的效果,/usr/local/bin可以透明地訪問它們的物理位置,/data/disk1而無需更新$PATH變數。


另一個:

您可以從使用者安裝的 USB 記憶棒或其他儲存設備/media/home/steve/my_work_files. 這樣做的好處是您可以cd進入~/my_work_files,而不必記住/media文件所在的位置。

引用自:https://unix.stackexchange.com/questions/361522