1
주어진 파일의 모든 하드 링크를 "순수한"C로 나열해야하므로 bash 명령을 사용하지 않아도됩니다.파일의 하드 링크 나열 C
나는 몇 시간 동안 인터넷 검색을했지만 유용한 정보가 없습니다. 현재 나의 inode 번호는 inode 번호를 얻은 다음 디렉토리를 반복하여 동일한 inode를 가진 파일을 찾습니다.
sudo find/-inum 199053
더 좋은 제안과 같은 bash는 뭔가에
?
감사
이것은 UNIX 특정 보인다, 그래서 나는 당신을 위해 태그를 추가했습니다. –
최소한,'stat'를 사용하여 하드 링크 * n *를 찾아서 * n * 링크를 찾은 후에 파일 시스템 통과를 중지하여 단락 회로 최적화를 수행 할 수 있습니다. * n * = 1). 그러나 이것과 별개로 나는 더 효율적인 해결책을 모른다. – 5gon12eder
파일 시스템의 마운트 지점 ('/'일 수도 있고 아닐 수도 있음)에서'find'를 시작하고'-xdev' 옵션을 사용하여 파일 시스템을 유지하기를 원할 것입니다 (하드 링크가 파일 시스템 경계). 나는 더 좋은 방법이 있다고 생각하지 않는다. 왜 당신은 "순수한 C"에서 그것을 할 필요가 있습니까? 'find' 명령은 적어도 여러분이 작성할 수있는 것만 큼 효율적일 것입니다. –