「ディレクトリスタック(directory stack)」とは,主に UNIX 流 OS のシェルで利用できる,ディレクトリの移動履歴(一覧)である。
この履歴を利用する事で,「さっきのディレクトリに戻る」といった操作が簡単になる。履歴を操作するため,一般に pushd,popd,dirs という名前の組み込みコマンドが使われる。
ディレクトリ移動時にディレクトリ名を記録するには,cd の代わりに pushd コマンドを使う。
pushd [移動先ディレクトリ]
記録したディレクトリ名を確認するには,dirs コマンドを使う。スタック(積み上げ型)なので,最後に記録したディレクトリ名が一覧の先頭に来るのが分かる。
dirs
記録したディレクトリに移動する(戻る)には popd コマンドを使う。以下の例では,一覧の先頭,つまり,最後に記録したディレクトリに移動し,そのディレクトリ名を一覧から削除する。
popd
詳しい使い方は man 等を参照のこと。ちなみに,Bash の場合,このディレクトリスタックはシェル変数 DIRSTACK に配列で保存されている。以下のようにすると確認できる。
echo ${DIRSTACK[0]}