특정 inode에 대한 모든 하드 링크를 찾는 방법은 무엇입니까? [복사]

특정 inode에 대한 모든 하드 링크를 찾는 방법은 무엇입니까? [복사]

특정 inode를 가리키는 모든 하드 링크를 경로/파일 이름으로 또는 파일 이름으로 나열하는 방법이 있습니까? ls -al파일에 대한 하드 링크가 세 개 있는 보고서가 있는데 두 개만 있어야 합니다. 악성 하드 링크를 어떻게 찾나요?

다른 게시물을 찾았습니다. 특정 파일에 대한 모든 하드 링크를 찾는 방법은 무엇입니까?

하지만 이름이 같은 파일만 찾습니다. 이러한 하드 링크의 이름은 동일할 수도 있고 다를 수도 있습니다.

답변1

링크된 파일은 직계 상위 파일뿐만 아니라 파일 시스템의 어느 곳에나 위치할 수 있습니다. 이 보고서모두inode별로 그룹화된 홈 디렉토리에 3개 이상의 하드 링크가 있는 파일입니다. 이미 한 가지 예를 발견했을 수도 있지만 관심 있는 다른 예도 있을 수 있습니다.

find ~ -type f -links +2 -printf 'inode %i links %n name %p\n' | sort -n

3방향은 없지만 이것은 글로벌 양방향 하드 링크에 대한 테스트입니다.

$ find ~ -type f -links +1 -printf 'inode %i links %n name %p\n' | sort -n
find: ‘/home/paul/.gvfs’: Permission denied
find: ‘/home/paul/.cache/dconf’: Permission denied
inode 6173828 links 2 name /home/paul/Calhoun.post
inode 6173828 links 2 name /home/paul/SandBox/JpgTool/Calhoun.again
inode 6296398 links 2 name /home/paul/SandBox/fileGroup/fileGroup.V05
inode 6296398 links 2 name /home/paul/SandBox/fileGroup/myHardLink

관련 정보