ディレクトリの構成が複雑になってきた時、各ディレクトリの間をいったりきたりするのが面倒になってくる。 そのような時に、なるべく簡単にすばやくディレクトリ間を移動するにはcdの代わりに以下のコマンドを使用する。
これらのコマンドを使用すると、=によってファイルなどのコピー・移動を簡単に行なうことができるようになる。
つまり=の後にスタック番号をつけると、そのスタックに入っているディレクトリを表すことができるので、いちいち長いパス名を入力する必要が無くなる。
ここでスタックとはパス名をいれておくための底のある入れもの(バケツのようなもの)と思えば良い。
以下の例にでてくる ~ はホームディレクトリを表す。
% pwd /amt/home0/ad000000 % cd kadai1/kadai1-1 % pwd /amt/home0/ad000000/unix/kadai1/kadai1-1 % dirs /amt/home0/ad000000/unix/kadai1/kadai1-1 ← スタックには一つディレクトリが入っている % pushd ~/unix/kadai2/kadai2-2 ← 二つ目のディレクトリをスタックに入れる /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000/unix/kadai1/kadai1-1 % dirs /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000/unix/kadai1/kadai1-1 ← スタックには二つディレクトリが入っている % pushd ← 一つ目のディレクトリに移動 /amt/home0/ad000000/unix/kadai1/kadai1-1 /amt/home0/ad000000/unix/kadai2/kadai2-2 % pwd /amt/home0/ad000000/unix/kadai1/kadai1-1 % pushd ← 二つ目のディレクトリに移動 /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000/unix/kadai1/kadai1-1 % pwd /amt/home0/ad000000/unix/kadai2/kadai2-2 % pushd ~ ← 三つ目のディレクトリとしてホームディレクトリを入れる /amt/home0/ad000000 /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000/unix/kadai1/kadai1-1 % dirs /amt/home0/ad000000 /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000/unix/kadai1/kadai1-1 % pushd /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000 /amt/home0/ad000000/unix/kadai1/kadai1-1 % pushd /amt/home0/ad000000 /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000/unix/kadai1/kadai1-1 % pushd +2 ← スタックの三番目にあるディレクトリに移動 /amt/home0/ad000000/unix/kadai1/kadai1-1 /amt/home0/ad000000 /amt/home0/ad000000/unix/kadai2/kadai2-2 % ls data1-1 % cp data1-1 =2 ← data1-1をスタックの三番目にあるディレクトリ(/amt/home0/ad000000/unix/kadai2/kadai2-2)に移動 % pushd +2 /amt/home0/ad000000/unix/kadai2/kadai2-2 /amt/home0/ad000000/unix/kadai1/kadai1-1 /amt/home0/ad000000 % ls data1-1 data2-2 % popd /amt/home0/ad000000/unix/kadai1/kadai1-1 /amt/home0/ad000000 % popd /amt/home0/ad000000 %