片側にファイルパスがあり、それらを複製したい新しいパスがあります。
それらを単純にハードリンクできるかどうか、またはコピーする必要があるかどうかをテストするにはどうすればよいですか?
ステップ1:リンクを呼び出します。
errno
ステップ2:に設定して-1が返される場合はEXDEV
、コピーを作成します。
[アップデート]
一般に、この質問に答えるポータブルな(そして信頼できる)方法はありません。最も近い方法は、ソースと宛先のstatvfsを呼び出してから、 statvfs構造体f_fsid
のフィールドを比較することです。
f_fsid
残念ながら、POSIXはこの分野について特に何も保証していません。このテストは、NFSマウントされたファイルシステムについて質問している場合を除いて、Linuxで機能するはずです...