디렉토리에 대한 리눅스 심볼릭 링크


0

내 홈 폴더에서 다른 디렉토리로 심볼릭 링크를 만들었습니다.

$ pwd
/home/user1
$ ln -s /usr/local/dir/ shortcut
$ ls -l
................................... shortcut -> /usr/local/dir/
$ cd shortcut
$ pwd
/home/user1/shortcut

나는 거기에있는 모든 파일을 볼 수 있도록 그 dir에서 끝나지 만 pwd혼란스럽고 문제를 일으킬 수 있습니다. 이렇게하면 더 좋은 방법이 있으므로 지름길 역할을하고 실제로 새 경로를 보여주는 대신 /usr/local/dir들어가는 것을 보여줍니다 cd shortcut.



1
Unix & Linux Stack Exchange 에서 이미 답변을 받았기 때문에이 질문을 주제로 끝내기로했습니다 .
G-Man

@ G-Man, 비슷한 질문에 다른 질문에 답하는 질문입니까? OP가 같은 질문을 교차 게시하고 다른 사이트에서 답변을 얻고 있습니까? 첫 번째 댓글의 링크는 오래된 질문입니다. 가까운 댓글의 링크는 특정 게시물이 아닌 사이트에 대한 것이므로 OP는 사용자가 아닙니다. 다른 사이트에 대한 답변 만 있으면 해당 주제를 벗어날 수 없습니다.
fixer1234

답변:


1

모두 cdpwd실제 디렉터리 구조를 사용하는 플래그를 가지고있다.

CD

$ cd --help
...
  -P   use the physical directory structure without following
       symbolic links: resolve symbolic links in DIR before
       processing instances of `..'
...

$ cd /var/tmp 
$ ln -s /home/user test 
$ cd -P test
$ pwd
/home/user

위의 예에서는 cd -P실제 디렉토리 구조를 사용하므로 pwd실제 경로를 제공합니다.

pwd

$ pwd
...
  -P    print the physical directory, without any symbolic links
...

$ cd /var/tmp
$ ln -s /home/user test 
$ cd test
$ pwd
/var/tmp/test
$ pwd -P
/home/user

위와 같이, 우리 cd는 정상적으로 디렉토리에 들어가므로 pwd기호 경로를 제공합니다. 사용 pwd -P하면 물리적 경로가 생깁니다.

전세계에서 bash로 설정

사용하고 있다면 bash심볼릭 링크를 완전히 무시하고 실제 디렉토리 구조를 사용하여 실행할 수 있습니다 set -P(단축키 set -o physical매뉴얼 페이지 참조). 이것은 다른 쉘에서도 가능할 수 있습니다.


이것은 모든 로그 아웃시 기본값으로 재설정됩니다. 따라서 로그인 한 상태에서 명령을 실행하면 원하는 결과를 얻을 수 있지만 로그 아웃 한 후 다시 실행하면 기본값으로 재설정됩니다. "set -P"를 기억할 수있는 방법이 있습니까?
prl77

1
아, 내 부분에 나쁜 표현이있다. 당신은이에 설정할 수 있습니다 ~/.bashrc...이 SSH 등을 위해 장전 확인 후,이 모든 대화 형 쉘로드됩니다, 당신은 그것을 배치 할 수 있습니다 ~/.bash_profile또는 실행 source ~/.bashrc에서 ~/.bash_profile- 이미 공급 될 수 배포판에 따라.
wayofthepie

0

$ CDPATH 사용

$ CDPATH=/usr/local
$ cd dir
$ pwd
/usr/local/dir

ISTM은 실제 답변보다 해결 방법이 많으며 의견으로는 더 좋을 수도 있습니다.
G-Man

동의한다. 위의 방법에서 얻은 대답은 내가 원하는 바에 대한 부분입니다. 쉬운 전역, 내장. 그것에 부정적 측면이 아닙니다.
prl77
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.