{ディレクトリ}{Unix 流}(2)

{ディレクトリスタック K#F85E/9BB2}

「ディレクトリスタック(directory stack)」とは,主に UNIX 流 OS のシェルで利用できる,ディレクトリの移動履歴(一覧)である。

この履歴を利用する事で,「さっきのディレクトリに戻る」といった操作が簡単になる。履歴を操作するため,一般に pushd,popd,dirs という名前の組み込みコマンドが使われる。

ディレクトリ移動時にディレクトリ名を記録するには,cd の代わりに pushd コマンドを使う。

pushd [移動先ディレクトリ]

記録したディレクトリ名を確認するには,dirs コマンドを使う。スタック(積み上げ型)なので,最後に記録したディレクトリ名が一覧の先頭に来るのが分かる。

dirs

記録したディレクトリに移動する(戻る)には popd コマンドを使う。以下の例では,一覧の先頭,つまり,最後に記録したディレクトリに移動し,そのディレクトリ名を一覧から削除する。

popd

詳しい使い方は man 等を参照のこと。ちなみに,Bash の場合,このディレクトリスタックはシェル変数 DIRSTACK に配列で保存されている。以下のようにすると確認できる。

echo ${DIRSTACK[0]}