심볼릭 링크가 있습니다
~/link -> ~/a/really/long/path
내가 할 때
cd ~/link
cd ..
내가 거기까지 데려다줄게
~
하지만 난 가고 싶어
~/a/really/long
이를 수행할 수 있는 방법이 있습니까?
나는 배쉬를 사용하고 있습니다.
답변1
Bash(및 ksh, zsh 및 ash)는 디렉토리 변경 사항을 추적하여 항상 심볼릭 링크로 도 cd /foo/bar && cd ..
돌아갈 수 있도록 합니다 . 추적된 변경 사항을 무시하고 "물리적" 디렉터리 구조를 따르는 옵션을 전달합니다 ./foo
bar
-P
cd
cd -P ..
bash 내장 명령에 대한 문서를 help cd
참조 하세요 . 디렉토리 추적이 정말 마음에 들지 않으면 bash( zsh)에서 이를 끌 수 있습니다.man builtins
cd
set -P
set -o no_chase_link
답변2
readlink를 사용하여 디렉터리의 실제 경로를 찾은 다음 이전 디렉터리로 이동할 수도 있습니다.
cd $(readlink -f .)/..
답변3
사용할 수 있는 한 가지 접근 방식은 심볼릭 링크 대신 별칭을 사용하여 ~/a/really/long/path로 이동하는 것입니다. 이것이 제가 사용하는 방법이며 그때부터는 cd 심볼릭 링크 대신 간단한 1/2 /et cetera 문자 명령을 입력할 수 있습니다.