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