심볼릭 링크의 원본 파일 찾기 디렉토리에있는 파일과 다른

홈 디렉토리에있는 파일과 다른 파티션의 다른 파일에 대한 심볼릭 링크가 있다고 가정 해 봅시다. 링크 된 파일의 대상 위치를 어떻게 찾을 수 있습니까? 이것에 의해, 내 말은,의 내가 있다고 가정 해 봅시다 file2/home/user/; 그러나 그것은 다른 것에 대한 상징적 인 링크 file1입니다. file1파일을 찾기 위해 각 파티션 / 디렉토리를 수동으로 거치지 않고 어떻게 찾을 수 있습니까?



답변

이 시도 :

readlink -f /path/file

(레벨이 하나 이상인 경우 symlink의 마지막 대상)

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

readlink /path/file

답변

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/»

답변

가장 간단한 방법 : cd심볼릭 링크가있는 위치 ls -l에서 파일의 세부 정보를 나열합니다.

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

전의:

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

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

그러나 @Gilles Quenot이 지적한 것처럼 , 당신은 또한 할 수 있습니다readlink -f /path/to/symbolic_link


답변

코스타에서 확장

당신이 가지고 있다고 가정

ln -s test.txt sym_link_1.txt
ls -l sym_link_1.txt
lrwxrwxrwx. 1 a1 g1 8 Jan  7 16:59 sym_link_1.txt -> test.txt

스크립트에서 수행 할 수있는 작업 (백틱 사용)

ln -s `readlink sym_link_1.txt` sym_link_2.txt

그럼 당신은

ls -l sym_link_*.txt
lrwxrwxrwx. 1 a1 g1 8 Jan  7 16:59 sym_link_1.txt -> test.txt
lrwxrwxrwx. 1 a1 g1 8 Jan  7 17:01 sym_link_2.txt -> test.txt

답변

링크 파일을 찾는 다른 방법 (이전에 대답하지 않은)은 아래 명령을 사용하는 것입니다.

file -h <path_to_dir>/* | grep link

사령부 :

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

출력 :

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