論理作業ディレクトリとは何かを理解しています。ディレクトリへのシンボリックリンクを作成し、シンボリックリンクを使用してそのディレクトリへのcd
を作成すると、論理作業ディレクトリはシンボリックリンクのパス+シンボリックリンク自体!例えば:
$ pwd
/home/john/this_is_a_symbolic_link
しかし、論理作業ディレクトリの利点は正確には何ですか?
やや複雑なユースケース:
一部のシステムでは、たとえば、ユーザーのホームディレクトリがautomounterによってマウントされる場合があります(Solarisの場合と同様)。
オートマウンターは、ローカルシステムリソースを節約し、ファイルシステムを多数のサーバーと共有するシステム間の結合を減らすことを目的としています。たとえば、大規模から中規模の組織では、数百のファイルサーバーと、数千のワークステーションまたはその他のノードが、いつでも任意の数のサーバーからファイルにアクセスする場合があります。通常、特定の時間に特定のノードでアクティブになるのは、比較的少数のリモートファイルシステム(エクスポート)のみです。プロセスが実際にアクセスする必要があるまでそのようなファイルシステムのマウントを延期すると、そのようなマウントを追跡する必要性が減り、信頼性、柔軟性、およびパフォーマンスが向上します。
オートマウンターは、中央ファイルサーバーから/a
や/tmp_mnt
などのパスで、home
NFS共有をマウントし、/tmp_mnt/home/steve
からシンボリックリンクを作成する場合があります(ログイン時に/home/steve
(論理ホームディレクトリ)に物理ホームディレクトリ)。
これには、ウィキペディアの記事に記載されているように、複数のユーザーがアクティブな場合でも、home
NFS共有の単一のマウントのみが必要であるという利点があります。誰かのホームディレクトリが使用されなくなった場合、シンボリックリンクが削除され、すべてのユーザーがログアウトすると、マウントされたNFS共有が完全にアンマウントされる場合もあります。
より簡単な例:
/usr/local
のスペースが不足しているとしましょう。次に、新しいディスクを追加して、たとえば次のようにマウントできます。 /data/disk1
および/data/disk2
。次に、/usr/local/bin
の古い内容を/data/disk1
にコピーし、/usr/local/lib
を/disk/data2
にコピーして、/usr/local/bin
と/usr/local/lib
をシンボリックリンクとして再作成することができます。これらの2つのディレクトリ。
cd /usr/local/bin
でディレクトリを変更すると、物理的には/data/disk1
に移動しますが、論理的には/usr/local/bin
に移動します。これには、/usr/local/bin
からユーティリティにアクセスすると、/data/disk1
変数を更新しなくても、$PATH
内の物理的な場所に透過的にアクセスするという効果もあります。
もう1つ:
ユーザーが取り付けたUSBスティックまたはその他のストレージデバイスから、/media
の下のどこかに/home/steve/my_work_files
としてシンボリックリンクを作成できます。これの利点は、ファイルが~/my_work_files
の下のどこにあるかを覚えておく必要がなく、cd
を/media
に入れることができることです。
$ cd this_is_a_symbolic_link
…
$ pwd
$ cd ..