Linuxで1つ前のディレクトリに戻る方法|cdで瞬時に移動

Linux

Linuxのターミナルで作業していると、 「さっきいたディレクトリに戻りたい!」 という場面はとても多いです。

たとえば、

cd /var/www/html
# いろいろ確認した後...
cd /etc/httpd

と移動した後に 「また /var/www/html に戻りたい」 となったとき、いちいちパスを手で打つのは面倒ですよね。

実はLinuxには、「直前にいたディレクトリに戻る」便利なショートカットがあります。

スポンサーリンク

ディレクトリ移動の基本知識

なぜディレクトリ移動が重要?

効率的な作業

  • 長いパスを何度も入力する手間を省く
  • 作業の流れを途切れさせない
  • タイプミスによるエラーを減らす

よくある作業パターン

  • 設定ファイルの編集とテスト
  • ログファイルの確認と分析
  • ソースコードとドキュメントの行き来
  • バックアップ作業での往復移動

現在位置の把握

pwd コマンドで現在位置確認:

pwd

出力例:

/home/user/projects/webapp

どこにいるか分からなくなったときの必須コマンドです。

cd – で1つ前のディレクトリに戻る

基本的な使い方

最もシンプルな前ディレクトリ移動:

cd -

これだけで直前にいたディレクトリに戻ります。

実際の動作例

基本的な往復移動:

# 現在位置確認
pwd
# 出力: /home/user

# ディレクトリ移動
cd /var/www/html
pwd
# 出力: /var/www/html

# 別のディレクトリに移動
cd /etc/httpd
pwd  
# 出力: /etc/httpd

# 1つ前のディレクトリに戻る
cd -
# 出力: /var/www/html(自動で表示される)
pwd
# 出力: /var/www/html

cd – の便利な特徴

自動パス表示 cd - を実行すると、移動先のパスが自動で表示されるため、どこに戻ったか一目で分かります。

連続使用で往復

cd /home/user/projects
cd /var/log
cd -  # /home/user/projects に戻る
cd -  # /var/log に戻る
cd -  # /home/user/projects に戻る

環境変数 OLDPWD の活用 cd - は実際には環境変数 OLDPWD を参照しています:

echo $OLDPWD  # 前のディレクトリパスを表示

その他の便利なディレクトリ移動テクニック

ホームディレクトリへの移動

引数なしのcd:

cd

チルダを使った明示的な指定:

cd ~

どちらも同じ結果: 現在位置に関係なく、いつでも自分のホームディレクトリに戻れます。

実例:

# どこにいても
cd /usr/local/bin/very/deep/directory
cd  # 即座にホームディレクトリ
pwd
# 出力: /home/username

相対パスでの移動

1つ上のディレクトリ:

cd ..

2つ上のディレクトリ:

cd ../..

現在のディレクトリを明示:

cd .  # 現在位置で更新(ほとんど使わない)

組み合わせた移動:

cd ../other_directory  # 1つ上に上がって other_directory に移動

複雑なパス移動

ルートからの絶対パス:

cd /usr/local/bin

ホームディレクトリからの相対パス:

cd ~/Documents/projects

前のディレクトリからの相対パス:

# 現在: /home/user/projects
cd /var/www
cd -  # /home/user/projects に戻る
cd ../Documents  # /home/user/Documents に移動

高度なディレクトリ移動テクニック

pushd と popd を使ったスタック移動

ディレクトリスタックの概念 pushdpopd を使うと、複数のディレクトリを「スタック」のように管理できます。

pushd の使い方:

# 現在のディレクトリをスタックに保存しつつ移動
pushd /var/log
pushd /etc
pushd /tmp

スタック確認:

dirs  # 現在のディレクトリスタックを表示

出力例:

/tmp /etc /var/log /home/user

popd でスタックから戻る:

popd  # /etc に戻る
popd  # /var/log に戻る  
popd  # /home/user に戻る

dirs コマンドでスタック管理

スタックの詳細表示:

dirs -v  # 番号付きでスタック表示

出力例:

 0  /tmp
 1  /etc
 2  /var/log
 3  /home/user

特定の位置に移動:

pushd +2  # スタック位置2番(/var/log)に移動

履歴を活用した移動

cd の履歴確認:

# bash の場合、CDPATH を使った履歴管理
history | grep "cd "

最近のディレクトリに素早く移動:

# ディレクトリ名の一部だけでタブ補完
cd pro<Tab>  # projects ディレクトリに展開

実用的な作業パターン

開発作業での活用

ソースコードとログの行き来:

cd ~/projects/webapp/src
# コード編集
cd /var/log/apache2
# ログ確認
cd -  # ソースディレクトリに戻る
# デバッグ続行

テストとドキュメント作業:

cd ~/projects/webapp/tests
# テスト実行
cd ../docs
# ドキュメント更新
cd -  # テストディレクトリに戻る

システム管理での活用

設定ファイルの編集:

cd /etc/nginx
# 設定ファイル編集
sudo vim nginx.conf

cd /var/log/nginx
# ログ確認
tail -f error.log

cd -  # 設定ディレクトリに戻る
# 設定の再確認

バックアップ作業:

cd /home/user/important_data
# バックアップ対象確認
cd /backup/daily
# バックアップ先準備
cd -  # データディレクトリに戻る
# バックアップ実行

ファイル操作での活用

ファイルのコピー・移動:

cd ~/Downloads
# ダウンロードファイル確認
cd ~/Documents/work
# 移動先ディレクトリ準備
cd -  # Downloads に戻る
mv important_file.pdf -  # 前のディレクトリ(work)に移動

エイリアスとカスタマイズ

便利なエイリアス設定

~/.bashrc に追加する便利なエイリアス:

# 基本的な移動エイリアス
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'

# よく使うディレクトリへのショートカット
alias cdh='cd ~'
alias cdl='cd ~/Downloads'
alias cdd='cd ~/Documents'
alias cdp='cd ~/projects'

# 前のディレクトリに戻るエイリアス(分かりやすく)
alias back='cd -'
alias prev='cd -'

設定の反映:

source ~/.bashrc

関数を使った高度なカスタマイズ

よく使うディレクトリへの素早い移動:

# ~/.bashrc に追加
function cdc() {
    cd ~/projects/current-project
}

function cdl() {
    cd /var/log
    ls -la
}

function cdw() {
    cd /var/www/html
    pwd
}

ディレクトリ移動履歴の表示:

function cdh() {
    echo "Recent directories:"
    dirs -v
}

トラブルシューティング

よくある問題と対処法

OLDPWD が設定されていない場合:

cd -
# エラー: bash: cd: OLDPWD not set

対処法:

# 一度別のディレクトリに移動してから使用
cd /tmp
cd ~
cd -  # 正常に動作

権限がないディレクトリの場合:

cd /root
# Permission denied
echo $OLDPWD  # 前のディレクトリは記録されている

対処法:

# 移動に失敗してもOLDPWDは更新されないため安全
cd -  # 問題なく前のディレクトリに戻る

シェル別の動作の違い

bash の場合:

  • cd - が標準でサポート
  • OLDPWD 環境変数を自動管理

zsh の場合:

  • bash と同様の動作
  • より高度なディレクトリ履歴機能

fish シェルの場合:

  • cd - の代わりに prevd コマンド
  • nextd で進む方向の移動も可能

まとめ

基本コマンドの再確認

1つ前のディレクトリに戻る:

cd -

ホームディレクトリに戻る:

cd
# または
cd ~

現在位置の確認:

pwd

効率的な移動のコツ

基本パターンの習得:

  1. まず pwd で現在位置を確認
  2. 目的のディレクトリに移動
  3. 必要に応じて cd - で前のディレクトリに戻る

高度なパターンの活用:

  1. pushd/popd でスタック管理
  2. エイリアスでよく使う移動をショートカット化
  3. タブ補完で効率的なパス入力

実用的なメリット

作業効率の向上:

  • 長いパスを何度も入力する必要がない
  • 作業の流れが途切れない
  • タイプミスによるストレスが減る

記憶の負担軽減:

  • 複雑なパスを覚える必要がない
  • 直前の作業場所に簡単に戻れる
  • ディレクトリ構造を意識しすぎる必要がない

安全性の向上:

  • 間違ったディレクトリでの作業を防ぐ
  • 移動先が自動表示されるため確認しやすい
  • エラー時も前の位置に戻りやすい

これらのテクニックを覚えておけば、ターミナルでのディレクトリ移動がもっとスムーズになります。

特に cd - は毎日使える便利なコマンドなので、ぜひ今日から活用してみてください!

コメント

タイトルとURLをコピーしました