홈 디렉토리에있는 파일과 다른 파티션의 다른 파일에 대한 심볼릭 링크가 있다고 가정 해 봅시다. 링크 된 파일의 대상 위치를 어떻게 찾을 수 있습니까? 이것에 의해, 내 말은,의 내가 있다고 가정 해 봅시다 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에 대한 심볼릭 링크