cygwin (1.7.x) は Windows NTFS ジャンクション ポイント (Win7/2008 または sysinternals の junction.exe で mklink によって作成される) を認識しますか?
「ln -s」で作成されたシンボリックリンクとどう違うのですか?
cygwin (1.7.x) は Windows NTFS ジャンクション ポイント (Win7/2008 または sysinternals の junction.exe で mklink によって作成される) を認識しますか?
「ln -s」で作成されたシンボリックリンクとどう違うのですか?
はい、Cygwin 1.7 は NTFS ジャンクション ポイントと NTFS シンボリック リンク (Vista で導入されたもの) を認識します。これらは Cygwin プログラムへのシンボリック リンクとして表示されるため、たとえば、このようなリンクを削除すると、ポイントされているファイルではなく、リンクのみが削除されます。
Cygwin シンボリック リンクを作成するときに Cygwin が NTFS シンボリック リンクを使用しない理由は、(レジストリ設定が変更されない限り) 昇格された管理者のみがシンボリック リンクの作成を許可されており、必要な POSIX セマンティクスがすべて含まれていないためです。
Cygwin のシンボリック リンクは、リンク先を示すファイルに他なりません。Windows コマンド プロンプトから 1 つの内容を見ると、次のようになります。
C:\>type c:\cygwin\bin\emacs
!<symlink> ■/ e t c / a l t e r n a t i v e s / e m a c s
C:\>
私の知る限り、WindowsのNTFSジャンクションポイントはまったく異なるものです。それらはファイルシステムレイヤーで行われるため、cygwin は他のファイル/ディレクトリと何も変わらないと思います。
そうは言っても、NTFSジャンクションポイントで遊んだことがないので、YMMV.