WindowsはLinuxシンボリックリンクを認識していますか?

WindowsはLinuxシンボリックリンクを認識していますか?

Windowsシステムがシンボリックリンクをどのように処理するかを知りたいです(ln -sWindowsがデフォルトでサポートされているファイルシステムでLinux経由で作成された場合)。そしてNTFSなどのシンボリックリンクをサポートします。私の推測では認識できないようですが、完全には確信できません。

また、MacがMacに会ったらどうしますか?

ベストアンサー1

ローカル以外のディスクについて話すときは、Windowsのバージョンとサーバー側の構成によって異なります。

Windows Vista以降、Windowsにはシンボリックリンクの概念がありますが、意味は異なります。しかし、ここでより重要な問題は、他の構文に従うパス名です。まず、Unixoid側には単一のルートディレクトリツリーがあり、Windows側では複数のドライブ文字がルートとして使用されます。

Unixに関しては、シンボリックリンクは特別なフラグを持つテキストファイルです。 Windows側では、基本的なメカニズムを再分析ポイントと呼びます。これは、オブジェクトマネージャに特定の登録済みフィルタにそれを渡すように指示します(メタデータは次の場所に保存されます)。存在する再分析ポイント)。 Windows 2000には、結合ポイント(おおよそディレクトリシンボルリンク)という一種の再分析ポイントが導入されました。 Vistaでは、リモートドライブのファイルとディレクトリへのシンボリックリンクを導入しました。とシンボリックリンク存在するリモートドライブもある程度サポートされています。

重要なのは、ファイルシステムドライバ(ローカルで実行されている場合)がWindowsに表示されるパスを調整するかどうかです。この場合、一部のローカル/相対シンボリックリンクで機能します。絶対パスをターゲットとして使用すると、意味を推論することは困難で不可能になります。リモートシンボリックリンク(「ネットワーク共有」用)も同様です。

Mac側ではよくわかりません。別の質問として理解することもできます。しかし、サーバー側でこれがシンボリックリンクであることを伝える限り、Windowsとは異なり、すべてSUSセマンティクスに従うので問題はないと思います。


Linux側のマウントポイントを考えてみましょう。

/dev/sda1 /
/dev/sda2 /home
/dev/sda3 /var

/home/paul/fstabを指すシンボリックリンクを考えてみましょう/etc/fstab。 2つの異なるボリュームにあり、Windowsがファイルシステムドライバを介して表示できる場合(動作します!)、/etc/fstab説明した方法で区別することはできません。したがって、Windowsのフォルダの下に表示されるリンク(変換された場合でも)は、に存在しないリンクを\paul\fstab指します。シンボリックリンクが相対パスを指している場合、状況はまったく変わりません。\etc\fstab/dev/sda2../../etc/fstab


ポイント:したがって、いくつかの極端なケースで動作するようにすることができると考えることができますが、現実は意味論と構文が両方で異なるため、動作する実用的で一般的なアプローチを見つける可能性はほとんどありません。

おすすめ記事