3
ファイルシステムをナビゲートするときに、Unixはユーザーの作業ディレクトリをどのように追跡しますか?
UNIXシステムのシェルにログインして、コマンドをタップし始めたとします。最初はユーザーのホームディレクトリで開始します~。そこからcdディレクトリまで行くかもしれませんDocuments。 ここで作業ディレクトリを変更するコマンドは、直感的に理解するのが非常に簡単です:親ノードには、アクセスできる子ノードのリストがあり、おそらく(最適化された)検索のバリアントを使用して、子ノードの存在を見つけますユーザーが入力した名前を入力すると、作業ディレクトリがこれに合わせて「変更」されます。間違っている場合は修正してください。シェルが単純に「単純に」ユーザーの希望どおりにディレクトリへのアクセスを試行し、ファイルシステムが何らかのタイプのエラーを返すと、シェルはそれに応じて応答を表示する方が簡単かもしれません。 しかし、私が興味を持っているのは、ディレクトリ、つまり親、または親の親を上に移動するときに同じプロセスがどのように機能するかです。 私の未知の、おそらく「ブラインド」ロケーションを考えると、Documentsその名前のファイルシステムツリー全体にある可能性のある多くのディレクトリの1つで、Unixは次に配置する場所をどのように決定しますか?それを参照しpwdて調べますか?はいの場合pwd、現在のナビゲーション状態をどのように追跡しますか?
29
filesystems
pwd