논리적 작업 디렉토리의 이점은 무엇입니까?

논리적 작업 디렉토리의 이점은 무엇입니까?

논리적 작업 디렉토리가 무엇인지 이해합니다. 디렉토리에 대한 심볼릭 링크를 생성한 다음 cd심볼릭 링크를 사용하여 해당 디렉토리에 대한 논리적 작업 디렉토리는 다음과 같습니다.심볼릭 링크의 경로 + 심볼릭 링크 자체! 예를 들어:

$ pwd
/home/john/this_is_a_symbolic_link

그러나 논리적 작업 디렉토리의 이점은 정확히 무엇입니까?

답변1

다소 복잡한 사용 사례:

일부 시스템에서는 사용자의 홈 디렉토리가 예를 들어 마운트될 수 있습니다.자동 마운트(솔라리스에서와 마찬가지로).

에서Wikipedia "Automounter" 기사:

자동 마운트의 목적은 로컬 시스템 리소스를 보존하고 여러 서버와 파일 시스템을 공유하는 시스템 간의 결합을 줄이는 것입니다. 예를 들어, 중소 규모 조직에는 수백 개의 파일 서버와 수천 개의 워크스테이션 또는 언제든지 이러한 서버의 파일에 액세스하는 기타 노드가 있을 수 있습니다. 일반적으로 특정 시간에 특정 노드에서 상대적으로 적은 수의 원격 파일 시스템(내보내기)만 활성화됩니다. 프로세스가 실제로 액세스해야 할 때까지 이러한 파일 시스템의 마운트를 연기하면 해당 마운트를 추적할 필요성이 줄어들어 안정성, 유연성 및 성능이 향상됩니다.

자동 마운트는 일부 중앙 파일 서버의 NFS 공유를 또는 이와 유사한 home경로에 마운트 한 다음 로그인할 때 (물리적 홈 디렉터리)에서 (논리적 홈 디렉터리)로 심볼릭 링크를 생성할 수 있습니다./a/tmp_mnt/tmp_mnt/home/steve/home/steve

Wikipedia 기사에서 언급했듯이 이는 home여러 사용자가 활성화되어 있어도 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

답변2

$ cd this_is_a_symbolic_link
$ pwd
$ cd ..

관련 정보