ファイルの inode は同じですが、互いにリンクされていません。

ファイルの inode は同じですが、互いにリンクされていません。

2つの場所に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:の出力で2つのファイルを報告するのがわかりますDevice: 806h/2054d Inode: 528738。すべてのデフォルトのUNIXファイルシステムは、異なるファイルに対して異なるinodeを報告します(一部のリモートまたは外部ファイルシステムではこれは保証されない可能性があります)。

ファイルの2つの名前は実際には互いに「リンク」されています。より正確には同じファイル結果~/bin/dropbox-backupそして~/Dropbox/linux/scripts/dropbox-backup同じファイルです。最も可能性の高い説明は、これが~/binシンボリックリンクであり、~/Dropbox/linux/scriptsその逆も同様であるため、2つの異なるディレクトリとシンボリックリンクチェーンを介して同じファイルにアクセスできることです。

2つのパス(つまり、すべてのシンボリックリンクが検証されたパス)の正規化を比較することでこれを確認できます。

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

おすすめ記事