Os arquivos têm o mesmo inode, mas não se ligam entre si

4

Eu tenho um script bash em dois lugares e não me lembro como os criei. eles têm o mesmo inode, mas nenhum deles parece ligar-se a outro. existe um link físico, mas não deve Links contam para que o inode se torne dois?

$ 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: -
    
por rag 14.08.2013 / 21:58

1 resposta

5

Os arquivos têm o mesmo inode e estão no mesmo sistema de arquivos. Você pode ver isso na saída de stat : ele relata Device: 806h/2054d Inode: 528738 para ambos os arquivos. Todos os sistemas de arquivos unix nativos relatam inodes distintos para arquivos distintos (isso pode não ser garantido para alguns sistemas de arquivos remotos ou estrangeiros).

Os dois nomes para os arquivos “linkam uns aos outros”, ou mais propriamente falando, eles levam ao mesmo arquivo . ~/bin/dropbox-backup e ~/Dropbox/linux/scripts/dropbox-backup são o mesmo arquivo. A explicação mais provável é que ~/bin é um link simbólico para ~/Dropbox/linux/scripts ou vice-versa, de modo que você está alcançando o mesmo arquivo por meio de dois diretórios diferentes e cadeias de links simbólicos.

Você pode verificar isso comparando as canonicalizações dos dois caminhos (isto é, os caminhos com todos os links simbólicos resolvidos):

readlink -nf ~/bin/dropbox-backup ~/Dropbox/linux/scripts/dropbox-backup
    
por 15.08.2013 / 02:00