파일의 inode는 동일하지만 서로 연결되어 있지 않습니다.

파일의 inode는 동일하지만 서로 연결되어 있지 않습니다.

두 곳에 bash 스크립트가 있는데 어떻게 만드는지 기억이 나지 않습니다. 동일한 인덱스 노드가 있지만 어느 쪽도 다른 쪽과 연결되어 있지 않은 것 같습니다. 하드 링크가 있지만 해당 inode에 대한 링크 수가 2개가 되어야 하지 않나요?

$ ls -l ~/bin/dropbox-backup 
-rwxr-xr-x 1 bak bak 676 Aug 14 09:32 dropbox-backup

$ ls -l ~/Dropbox/linux/scripts/dropbox-backup 
-rwxr-xr-x 1 bak bak 676 Aug 14 09:32 ~/Dropbox/linux/scripts/dropbox-backup

$ stat ~/bin/dropbox-backup 
  File: `dropbox-backup'
  Size: 676         Blocks: 8          IO Block: 4096   regular file
Device: 806h/2054d  Inode: 528738      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1001/     bak)   Gid: ( 1001/     bak)
Access: 2013-08-14 20:40:25.599322386 +0100
Modify: 2013-08-14 09:32:47.748546462 +0100
Change: 2013-08-14 20:40:25.591322386 +0100
 Birth: -

$ stat ~/Dropbox/linux/scripts/dropbox-backup
  File: `/home/rag/Dropbox/linux/scripts/dropbox-backup'
  Size: 676         Blocks: 8          IO Block: 4096   regular file
Device: 806h/2054d  Inode: 528738      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1001/     bak)   Gid: ( 1001/     bak)
Access: 2013-08-14 20:40:25.599322386 +0100
Modify: 2013-08-14 09:32:47.748546462 +0100
Change: 2013-08-14 20:40:25.591322386 +0100
 Birth: -

답변1

이러한 파일은 동일한 inode를 가지며 동일한 파일 시스템에 있습니다. stat: 의 출력에서 ​​두 개의 파일을 보고하는 것을 볼 수 있습니다 Device: 806h/2054d Inode: 528738. 모든 기본 UNIX 파일 시스템은 서로 다른 파일에 대해 서로 다른 inode를 보고합니다(일부 원격 또는 외부 파일 시스템에서는 이것이 보장되지 않을 수 있음).

파일의 두 이름은 실제로 서로 "링크"되어 있습니다. 더 정확하게는동일한 파일 결과. ~/bin/dropbox-backup그리고 ~/Dropbox/linux/scripts/dropbox-backup같은 파일입니다. 가장 가능성 있는 설명은 이것이 ~/bin심볼릭 링크이고 ~/Dropbox/linux/scripts그 반대도 마찬가지이므로 두 개의 서로 다른 디렉터리와 심볼릭 링크 체인을 통해 동일한 파일에 액세스할 수 있다는 것입니다.

두 경로(즉, 모든 심볼릭 링크가 확인된 경로)의 정규화를 비교하여 이를 확인할 수 있습니다.

readlink -nf ~/bin/dropbox-backup ~/Dropbox/linux/scripts/dropbox-backup

관련 정보