pushd コマンド
目次
概要
pushd - ディレクトリスタックにディレクトリを積むコマンドライン
pushd [-n] [+N | -N | dir]
対象バージョン
- RHEL10
- Ubuntu 24.04
説明
基本的な使い方
pushd
を実行すると cd コマンドの様に引数で指定したディレクトリに移動し、移動前のディレクトリをディレクトリスタックに積みます。ディレクトリスタックは dirs コマンドで確認することができ、popd コマンドでスタックから現在のディレクトリを取り除き、ひとつまえのディレクトリに戻ることができます。一時的に他のディレクトリに移動して戻りたい時に有用です。
$ cd ~ # ホームディレクトリに移動する $ pushd /usr/local/lib # 一時的に /usr/local/lib に移動する $ popd # ひとつ前のディレクトリ(ホームディレクトリ)に戻る
$ cd ~ # ホームディレクトリに移動する $ pushd /tmp/dirA # /tmp/dirA に移動する /tmp/dirA ~ $ pushd /tmp/dirB # /tmp/dirB に移動する /tmp/dirB /tmp/dirA ~ $ dirs -v # 現在のディレクトリスタックを確認する 0 /tmp/dirB 1 /tmp/dirA 2 ~ $ popd # /tmp/dirA に戻る /tmp/dirA ~ $ popd # ~ に戻る ~
スタック番号
dirs -v
を実行するとスタック番号とスタックの内容が表示されます。0番は常にカレントディレクトリです。1番はひとつ前のディレクトリ、2番はもうひとつ前のディレクトリを意味します。
$ dirs -v 0 /tmp/dirD 1 /tmp/dirC 2 /tmp/dirB 3 /tmp/dirA
スタック番号を指定したディレクトリ移動
pushd +N
を使用すると、スタックの順番は変わりますが、スタックからディレクトリを取り除くことなく、ディレクトリ移動することができます。例えば上記の状態で pushd +2
を実行すると、2番目のスタックディレクトリ /tmp/dirB
に移動することができます。
$ popd +2 /tmp/dirB /tmp/dirA /tmp/dirD /tmp/dirC $ dirs -v 0 /tmp/dirB 1 /tmp/dirA 2 /tmp/dirD 3 /tmp/dirC
オプション
- -n
- ディレクトリを移動せず、
dir
で指定したディレクトリをスタックの 1番に追加します。 - +N
- ディレクトリスタックの最初から
N
番目のディレクトリに移動します。スタックはN
番目のディレクトリが 0番となるように全体がローテートされます。 - -N
- ディレクトリスタックの最後から
N
番目のディレクトリに移動します。スタックはN
番目のディレクトリが 0番となるように全体がローテートされます。
関連項目
Copyright (C) 2025 杜甫々
初版:2025年7月13日 最終更新:2025年7月13日
https://www.tohoho-web.com/linux/cmd/pushd.html