에 파일이 있습니다 ~/file.txt
.
다음을 통해 하드 링크를 만들었습니다.
ln ~/file.txt ~/test/hardfile.txt
및 심볼릭 링크 파일:
ln -s ~/file.txt ~/test/symfile.txt
지금,
- 어떤 파일이 하드 링크인지 확인하는 방법은 무엇입니까?
- 하드 링크가 따라오는 파일을 찾는 방법은 무엇입니까?
우리는 심볼릭 링크 파일을 찾을 수 있지만 ->
하드 링크는 어떻습니까?
답변1
-rw--r--r-- 2 kamix users 5 Nov 17:10 hardfile.txt
^
이는 파일에 있는 하드 링크의 수입니다. "하드 링크"는 실제로 두 디렉토리 항목 사이에 있으며 실제로는 동일한 파일입니다. 다음 출력을 보면 알 수 있습니다 stat
.
stat hardfile.txt | grep -i inode
Device: 805h/2053d Inode: 1835019 Links: 2
링크 수가 2라는 점에 다시 한 번 주목하세요. 이는 이 파일이 어딘가에 다른 목록이 있음을 나타냅니다. 이것이 다른 파일과 동일한 파일이라는 것을 아는 이유는 동일한 inode 번호를 갖기 때문입니다. 불행히도 이것이 (inode 번호를 통해) 찾을 수 있는 유일한 방법입니다.
find
inode로(예: 를 사용하여) 파일을 찾는 가장 좋은 방법에 대한 몇 가지 아이디어가 있습니다.이 Q&A.
답변2
하드 링크된 파일에는 여러 개의 링크( 2
권한 플래그 다음에 오는 링크)가 있습니다. stat
다음 명령을 사용하여 이 정보를 쉽게 추출 할 수 있습니다 .
$ stat --printf '%h\n' hardfile.txt
2
다른 값과 인쇄 방법에 대한 자세한 내용은 stat
( ) 맨페이지를 참조하세요.man 1 stat