심볼릭 링크가 아닌 경로를 파악하십시오.


10

리눅스에서 CD를 썼고 현재 디렉토리에 있다면 심볼릭 링크를 사용하지 않은 경우 해당 디렉토리의 실제 경로가 무엇인지 알아내는 방법이 있습니까?

치다:

$ pwd
/home/dave/tmp
$ mkdir -p 1/2/3/4/5
$ ln -s 1/2/3/4/5 5
$ cd 5
$ pwd 
/home/dave/tmp/5

또는:

$ pwd
/home/dave/tmp
$ mkdir -p 1/2/3/4/5
$ ln -s 1/2/3/4 4
$ cd 4/5
$ pwd 
/home/dave/tmp/4/5

/ home / dave / tmp / 5가 실제로 / home / dave / 1 / 2 / 3 / 4 / 5라는 것을 알 수있는 방법이 있습니까?

답변:


13

와 함께 cd사용하려면 pwd -P다음을 사용하십시오 .

$ pwd
/home/dave/tmp
$ mkdir -p 1/2/3/4/5
$ ln -s 1/2/3/4/5 5
$ cd 5
$ pwd 
/home/dave/tmp/5
$ pwd -P
/home/dave/tmp/1/2/3/4/5

일반적인 기호 링크의 경우 다음을 사용하십시오 readlink.

$ cd ..
$ readlink 5
1/2/3/4/5

또는 ls -l( -d디렉토리의 경우) :

$ ls -ld 5
lrwxr-xr-x  1 dave  staff  9 Jul 24 10:10 5 -> 1/2/3/4/5

readlink -f 파일은 해당 파일에 대한 심볼릭 링크가 아닌 경로를 반환합니다. 감사!
David Mackintosh

1
허우, 나는 항상 / bin / pwd를 사용했다. pwd shell 내장과 달리 그것이 어디에 있는지 알 수 없기 때문이다. pwd -P와 동일합니다.
Peter Cordes

ls -lda는 어떤 이유로 든 숨겨진 sym 링크에 대해 작동하지 않습니다
Casebash

2

readlink -f(coreutils에서 기본적으로 설치됨) 또는 더 쉽게 기억할 수있는 것을 원합니다 ( realpath설치해야 함).


0

내가 사용한 다른 방법은

cd to the symlink
Ctrl+Shift+T #To open a new tab
pwd

새 탭 pwd는 심볼릭 링크를 제공합니다. ;)


죄송합니다. 여기서 사용중인 쉘, 창 관리자 또는 터미널은 무엇입니까?
David Mackintosh

나는 그가 gnome-terminal에 대해 이야기하고 있다고 생각합니다
prestomation

네, 그놈 터미널에 대해 이야기하고있었습니다.
Lakshman Prasad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.