Windowsシステムがシンボリックリンクをどのように処理するのか疑問に思っていました。私の最良の推測は、それがそれらを認識しないということですが、私には完全にはわかりません。
また、Macは1つに直面したときに何をしますか?
Windowsシステムがシンボリックリンクをどのように処理するのか疑問に思っていました。私の最良の推測は、それがそれらを認識しないということですが、私には完全にはわかりません。
また、Macは1つに直面したときに何をしますか?
回答:
非ローカルディスクについて話すときは、Windowsのバージョンとサーバー側の構成に依存します。
Windows Vista以降、Windowsにはシンボリックリンクの概念がありますが、セマンティクスは異なります。しかし、ここでのより重要な問題は、異なる構文に従うパス名でなければなりません。手始めに:unixoid側のシングルルートディレクトリツリーと、Windows側のルートとしての複数のドライブ文字。
unixoid側では、シンボリックリンクは特別なフラグが付いた単なるテキストファイルです。Windows側では、基盤となるメカニズムは再解析ポイントと呼ばれます。これは、特定の登録済みフィルターに渡すようにオブジェクトマネージャーに指示します(このメタデータは再解析ポイントに保存されます)。Windows 2000は、ジャンクションポイント(おおむね完全ではありませんが、ディレクトリシンボリックリンク)と呼ばれる1種類の再解析ポイントを既に導入しています。Vistaでは、ファイルとディレクトリの両方、およびリモートドライブにもシンボリックリンクを導入しました。また、リモートドライブ上のシンボリックリンクもある程度サポートされています。
主なポイントは、ファイルシステムドライバーが(ローカルで実行されたときに)Windowsが取得するパスを調整するかどうかです。そのような場合、特定のローカル/相対シンボリックリンクで機能します。絶対パスをターゲットにすると、意味が推測しにくくなります。(「ネットワーク共有」への)リモートsymlinksリンクについても同じです。
Mac側に関しては、私にはわからないので、別の質問として意味をなすかもしれません。しかし、サーバー側がこれがシンボリックリンクであるという情報を伝えている限り、両方ともSUSセマンティクスに従うので問題はありません(Windowsとは異なります)。
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
物事はまったく変化しません。
要点:いくつかのコーナーケースでこれを動作させることができると考えられますが、フェンスの両側でセマンティクスと構文が異なるという事実は、動作する実用的で一般的な方法を見つける可能性が低いことです。
ntfs
マウントポイントをサポートします(これらすべての文字が気に入らない場合)。
0xC0000022Lの答えは、物事のWindows側にとって徹底的です。MacはLinuxのシンボリックリンクを認識できます。ただし、Linux はMacのFinderで作成されたエイリアスを認識できません(ln -sを使用して作成されたシンボリックリンクは正常に機能します)。
.lnk
ファイル)に対応するOSX です。