我了解什么是逻辑工作目录。当您创建到目录的符号链接,然后cd
使用该符号链接到该目录时,您的逻辑工作目录将变为符号链接的路径+符号链接本身!例如:
$ pwd
/home/john/this_is_a_symbolic_link
但是逻辑工作目录到底有什么好处呢?
答案1
一个有点复杂的用例:
在某些系统上,用户的主目录可以通过例如自动安装器(如在 Solaris 上)。
自动挂载程序的目的是节省本地系统资源并减少与多个服务器共享文件系统的系统之间的耦合。例如,大中型组织可能拥有数百个文件服务器和数千个工作站或其他节点,可随时从任意数量的这些服务器访问文件。通常,在任何给定时间任何给定节点上只有相对少量的远程文件系统(导出)处于活动状态。将此类文件系统的安装推迟到进程实际需要访问它时,可以减少跟踪此类安装的需要,从而提高可靠性、灵活性和性能。
自动挂载程序可能会在诸如或类似的home
路径下挂载某个中央文件服务器的 NFS 共享,然后在您登录时创建从(物理主目录)到(逻辑主目录)的符号链接。/a
/tmp_mnt
/tmp_mnt/home/steve
/home/steve
home
正如维基百科文章提到的,这样做的好处是,即使多个用户处于活动状态,也只需要一次挂载 NFS共享。当某人的主目录不再使用时,符号链接可能会被删除,而当所有用户都注销时,挂载的 NFS 共享甚至可能会被完全卸载。
一个更简单的例子:
假设您的 上空间不足/usr/local
。然后,您可以添加新磁盘并将它们安装为例如/data/disk1
和/data/disk2
。然后,您可能决定复制/usr/local/bin
to/data/disk1
和/usr/local/lib
to的旧内容/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
文件所在的位置。
答案2
$ cd this_is_a_symbolic_link
…
$ pwd
$ cd ..