동일한 inode 번호를 가진 모든 파일을 나열 하시겠습니까?


53

ls -li디렉토리 내부에서 작업 하면 다음과 같이됩니다.

12353538 -rw-r--r-- 6 me me 1650 2013-01-10 16:33 fun.txt

출력에서 알 수 있듯이 fun.txt 파일 에는 6 개의 하드 링크가 있습니다. inode 번호는 12353538 입니다.

주어진 경우, 파일, 즉 동일한 inode 번호를 가진 파일에 대한 모든 하드 링크를 어떻게 찾을 수 있습니까?

답변:


56
find /mount/point -samefile /mount/point/your/file

3
@ TheoneManis 방금 찾기 호출의 다른 부분이 필요하지 않다는 것을 알았습니다. find암시 적으로 사용할 정도로 영리합니다. 일반적으로 find검색 경로 를 제공 해야하며 심볼릭 링크 또는 마운트 지점을 통해 이러한 파일 시스템을 떠나지 않아야합니다. 그러나 하드 링크를 찾을 때 검색 할 파일 시스템이 명확합니다.
Hauke ​​Laging

6
Hauke, 사용중인 find 버전에 따라 다릅니다. GNU 버전은 그렇게 할 수 있지만 BSD 버전은 그렇지 않으며 Mac에서는 그대로 작동하지 않습니다.
Alan Shutko

3
-xdev다른 파일 시스템의 디렉토리로 내려 가지 않도록 추가 할 수 있습니다. 그렇지 않으면 다른 파일 시스템에 동일한 inode 번호를 가진 다른 파일이있을 수 있습니다.
mmoya

-samefileHP-UX 와 거의 동일합니다 -linkedto(약간 다르지만 검색 경로는 여전히 지정해야합니다).
Nick

3
마운트 지점의 루트에 있지 않으면 find는 현재 폴더의 하위 폴더 만 탐색합니다. 그래서 당신은 정말 뭔가 같은 말을한다find /mount/point -samefile /mount/point/your/file
Calimo

52

이미 inode 번호가 있다면 find -inum옵션을 사용할 수 있습니다 :

find -inum 12353538

11
파일 시스템의 루트로 cd하거나 다음과 같이 찾을 경로로 지정하십시오 find /mount/point -inum 12353538. 그렇지 않으면 찾기는 현재 폴더 아래에서만 나타납니다.
Calimo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.