web-dev-qa-db-ja.com

CygwinはWindows8のハードリンクをサポートしていますか?

TimeMachineのように動作し、RSyncと--link-destを使用して、変更されていないファイルへのハードリンクを作成するバックアップスクリプトに取り組んでいます。

これを* Nixベースのシステムで実行すると、もちろん期待どおりに機能します。

しかし今、私はWindows8.1コンピューターのCygwinで同じスクリプトを使用したいと思います。 Windows 8では、ユーザーがハードリンクとシンボリックリンクを作成および変更するためのユーティリティが追加されていることを知っています(管理者として実行する場合)。そのため、NTFSはハードリンクとシンボリックリンクを確実にサポートします。

しかし、Cygwinは、Rsync(および他のプログラム)からのlink()呼び出しを適切なWin32 APIにマップする方法を知っていますか?

管理者としてCygwinを実行するのと同じくらい簡単ですか?

5
Anro

Cygwinは、シンボリックリンクをサポートしていないWindowsファイルシステムやOSバージョンでも、シンボリックリンクの作成と読み取りをサポートしています。詳細については、「シンボリックリンク」のセクションを参照してください。

ハードリンクは、NTFSおよびNFSファイルシステムで完全にサポートされています。 FATおよびハードリンクをサポートしない他のファイルシステムでは、他のPOSIXシステムと同様に、呼び出しはエラーで返されます。

出典: https://cygwin.com/cygwin-ug-net/highlights.html

Windowsのユーティリティはmklinkと呼ばれます

1
LukasT