심볼릭 링크(../)를 사용하여 상위 디렉터리를 변경합니다.

심볼릭 링크(../)를 사용하여 상위 디렉터리를 변경합니다.

심볼릭 링크가 있습니다

~/link -> ~/a/really/long/path

내가 할 때

cd ~/link
cd ..    

내가 거기까지 데려다줄게

~

하지만 난 가고 싶어

~/a/really/long

이를 수행할 수 있는 방법이 있습니까?

나는 배쉬를 사용하고 있습니다.

답변1

Bash(및 ksh, zsh 및 ash)는 디렉토리 변경 사항을 추적하여 항상 심볼릭 링크로 도 cd /foo/bar && cd ..돌아갈 수 있도록 합니다 . 추적된 변경 사항을 무시하고 "물리적" 디렉터리 구조를 따르는 옵션을 전달합니다 ./foobar-Pcd

cd -P ..

bash 내장 명령에 대한 문서를 help cd참조 하세요 . 디렉토리 추적이 정말 마음에 들지 않으면 bash( zsh)에서 이를 끌 수 있습니다.man builtinscdset -Pset -o no_chase_link

답변2

readlink를 사용하여 디렉터리의 실제 경로를 찾은 다음 이전 디렉터리로 이동할 수도 있습니다.

cd $(readlink -f .)/..

답변3

사용할 수 있는 한 가지 접근 방식은 심볼릭 링크 대신 별칭을 사용하여 ~/a/really/long/path로 이동하는 것입니다. 이것이 제가 사용하는 방법이며 그때부터는 cd 심볼릭 링크 대신 간단한 1/2 /et cetera 문자 명령을 입력할 수 있습니다.

관련 정보