私はコンピューティングクラスタで作業するのがかなり複雑なファイルシステム設定だと思うので、理解したいと思います。
ディレクトリがあり、そこに入ることがfoobar
できます。cd
$ cd /a/b/foobar
ディレクトリに行って実行すると
$ readlink -f .
私もある種のシンボリックリンクであるパス/c/d/foobar
を取得します。/a/b
もし私がするなら
$ cd /c/d/foobar
$ readlink -f .
私は/c/d/foobar
これが標準パスであることを理解しています。
/e/f/foobar
今走ると他の方法があります。
$ cd /e/f/foobar
$ readlink -f .
私も/e/f/foobar
これが標準パスであることを理解しています。
cd
の3つのインスタンスすべてでは、foobar
ディレクトリは常にまったく同じ内容を持ち、foobar
ディレクトリに何が含まれているかを知るためにディレクトリを作成しました。同じディレクトリへの2つの異なる標準パスは可能ですか?それとも、他のドライブと/c/d
が/e/f
互いに重複する可能性が高いですか?
答え1
バインドマウントは2番目の標準パスを作成できます。
mount -o bind /a/b /c/d
このstat
コマンド(またはシステムコール)を使用すると、デバイス番号とinode番号を比較して、2つのプロジェクトが同じプロジェクトであることを確認できます。