심볼릭 링크의 원본 파일 찾기

심볼릭 링크의 원본 파일 찾기

내 홈 디렉터리의 파일에서 다른 파티션의 다른 파일로 연결되는 심볼릭 링크가 있다고 가정해 보겠습니다. 링크된 파일의 대상을 찾는 방법은 무엇입니까? 내 말은, 내가 file2가지고 있다고 가정해 봅시다 /home/user/. 하지만 그것은 다른 것에 대한 심볼릭 링크입니다 file1. file1파일을 찾기 위해 각 파티션/디렉토리를 수동으로 거치지 않고 어떻게 찾을 수 있나요 ?

답변1

사용링크 읽기:

readlink -f /path/file

(레벨이 여러 개인 경우 심볼릭 링크의 마지막 대상)

다음 레벨의 심볼릭 링크를 원한다면 다음을 사용하십시오.

readlink /path/file

당신은 또한 사용할 수 있습니다실제 경로현대 시스템에서GNU 핵심 도구(예를 들어리눅스), FreeBSD,네트워크BSD,오픈BSD또는잠자리:

realpath /path/file

이는 와 유사합니다 readlink -f.

답변2

1.

ls -l bin

생산

lrwxrwxrwx 1 az az 14 Ноя 12 22:13 bin -> ../Gdrive/bin/

2.

file bin

생산

bin: symbolic link to `../Gdrive/bin/' 

삼.

stat bin

생산

File: «bin» -> «../Gdrive/bin/»

답변3

가장 쉬운 방법: cd심볼릭 링크가 있는 곳으로 이동하여 실행하여 ls -l파일의 세부 정보를 나열합니다.

심볼릭 링크의 오른쪽 부분 ->이 가리키는 대상입니다.

전임자:

lrwxrwxrwx 1 userName groupName 22 Jan 17 13:29 temp.txt 링크 -> /home/user/temp.txt

->여기에는 ( ) "/home/user/temp.txt" 를 가리키는 "temp.txt에 대한 링크"가 있습니다 .

하지만, 마치@Gilles Quenot이 지적했습니다., 당신도 할 수 있습니다readlink -f /path/to/symbolic_link

답변4

링크된 파일을 찾는 또 다른 방법(이전에 답변되지 않음)은 다음 명령을 사용하는 것입니다.

file -h <path_to_dir>/* | grep link

주문하다:

file -h /home/prateek/* | grep link

산출:

/home/prateek/Music: /media/prateek/HD-E1/Music에 대한 심볼릭 링크

관련 정보