Linux 심볼릭 링크: 지정된 디렉토리로 이동하는 방법은 무엇입니까?

Linux 심볼릭 링크: 지정된 디렉토리로 이동하는 방법은 무엇입니까?

자체 디렉토리에 프로젝트가 있습니다.

/dir/to/project/

데스크탑에 해당 디렉토리에 대한 심볼릭 링크가 있습니다.

/홈/사용자/데스크탑/프로젝트/

해당 링크를 두 번 클릭하면 열리는 디렉터리 창은 다음과 같습니다.

/홈/사용자/데스크탑/프로젝트/

실제 대신에 /dir/to/project.

명령줄(Bash)에서도 마찬가지입니다.

내가 원하는 것을 얻는 것이 가능합니까? 즉, 상징적인 디렉터리 대신 가리키는 디렉터리로 이동하는 것이 가능합니까?

참고: 제가 지금 사용하고 있는 Windows 환경은 Xfce이지만 일반적인 답변에도 관심이 있습니다.

답변1

bash내장 cd된 용도 -P-L스위치 에서 ; pwd같은 방식으로 이해합니다.

user@host:~$ ln -s /bin foobar
user@host:~$ cd -L foobar      # follow link
user@host:~/foobar$ pwd -L     # print $PWD
/home/user/foobar
user@host:~/foobar$ pwd -P     # print physical directory
/bin
user@host:~/foobar$ cd -       # return to previous directory
/home/user
user@host:~$ cd -P foobar      # use physical directory structure
user@host:/bin$ pwd -L         # print $PWD
/bin
user@host:/bin$ pwd -P         # print physical directory
/bin

더욱이 cd ..까다로울 수 있습니다.

user@host:/bin$ cd
user@host:~$ cd -L foobar
user@host:~/foobar$ cd -L ..   # go up, to ~/
user@host:~$ cd -L foobar
user@host:~/foobar$ cd -P ..   # go up, but not to ~/
user@host:/$

help cd및 을 참조하십시오 help pwd. /bin/pwd유사하게 동작하는 실행 파일(즉, 내장 쉘이 아닌)이 있을 수도 있습니다 . 내 쿠분투에서 차이점은 기본적으로 pwd옵션을 사용하지 않고 내장되어 있다는 것 -L입니다 ./bin/pwd-P

( 역할을 함 ) 및 ( 역할을 함 )을 cd통해 내장 의 기본 동작을 조정할 수 있습니다 . 자세한 내용은 참조하세요 .set -Pcdcd -Pset +Pcdcd -Lhelp set

답변2

readlink대상에 대한 링크를 확인하는 데 사용합니다 .

cd $(readlink thelink)

Bash 프로필에 함수를 정의할 수 있습니다.

function cdl { local dir=$(readlink -e $1); [[ -n "$dir" ]] && cd $dir; }

답변3

GUI에서 이를 달성하는 방법을 모르지만 명령줄에 해결 방법이 있습니다.

심볼릭 링크는 다음과 같습니다.

/home/user/Desktop/project/

그런 다음 사용할 수 있습니다읽기링크해결된 기호 링크 또는 표준 파일 이름을 가져오는 명령입니다. 그럼 그냥 cd그것으로.

cd `readlink /home/user/Desktop/project`

여기에서는 readlink링크 이름을 확인한 다음 다음을 cd사용하여 전달합니다.치환.

이미 데스크탑 폴더에 있다면 절대 경로를 지정할 필요가 없습니다 project.

cd `readlink project`

이 폴더를 자주 방문하는 경우 bash에서 해당 폴더에 대한 한 줄 함수를 작성할 수 있습니다.

function cdproject
{
    cd `readlink home/user/Desktop/project`;
}

관련 정보