Ubuntuのcd・pwdでディレクトリを移動・確認する基本操作

コマンド

Linuxを使い始めたとき、まず覚えるべきコマンドが cd(Change Directory)と pwd(Print Working Directory)です。この2つを使いこなせば、ターミナル上で自由にディレクトリを移動できるようになります。

本記事では実際に Ubuntu 24.04 の Docker コンテナで cdpwd を動かし、基本操作から少し発展的な使い方(cd -pwd -P)まで実出力つきで解説します。

この記事のポイント

  • pwd で「今いる場所」を絶対パスで確認できる
  • cd /パス で絶対パス、cd 相対パス で相対パス移動ができる
  • cd - で直前のディレクトリに素早く戻れる($OLDPWD を活用)
  • pwd -P でシンボリックリンクを解決した物理パスを表示できる
  • Ubuntu 24.04(bash 5.2.21)で実測・実行確認済み

目次

  1. 前提環境
  2. pwd:現在のディレクトリを確認する
  3. cd:ディレクトリを移動する基本
  4. cd の便利な使い方(~..-
  5. pwd -P と pwd -L の違い(シンボリックリンク)
  6. CDPATH で移動を効率化する
  7. よくあるエラーと解決策
  8. まとめ

前提環境

本記事のコマンドは以下の環境で実測しています。

項目
OS Ubuntu 24.04 LTS(Docker公式イメージ ubuntu:24.04)
bash バージョン 5.2.21(1)-release(実測)
pwd の種類 bash 組み込み + /usr/bin/pwd(外部コマンド)の両方が存在
実行日 2026-06-13

注意

本記事のコマンドは Ubuntu 24.04 LTS で検証しています。他のディストリビューションや bash のバージョンによって一部の動作が異なる場合があります。

実行環境を確認するには次のコマンドを使います。




ubuntu@linuxlab: ~
$ bash –version | head -1
GNU bash, version 5.2.21(1)-release (aarch64-unknown-linux-gnu)

$ type pwd
pwd is a shell builtin
$ which pwd
/usr/bin/pwd

pwd は bash の組み込みコマンド(shell builtin)であると同時に /usr/bin/pwd という外部コマンドとしても存在します。通常は bash 組み込みの方が優先されます。

pwd:現在のディレクトリを確認する

pwd は「Print Working Directory」の略で、現在自分がいるディレクトリの絶対パスを表示するコマンドです。ターミナルを開いた瞬間に「今どこにいるんだろう?」と思ったらまず pwd を打ちましょう。




ubuntu@linuxlab: ~
$ pwd
/root

出力された /root が「今いるディレクトリの絶対パス」です。絶対パスとは、ファイルシステムの最上位(ルート /)から始まるパスのことです。

Ubuntu 24.04 での cd・pwd 基本操作(実測)
Ubuntu 24.04 での cd・pwd 基本操作(実測)

上の図は実際に ubuntu:24.04 コンテナで cdpwd を実行した結果です。pwd が常に絶対パスを返しているのが分かります。

cd:ディレクトリを移動する基本

cd(Change Directory)は別のディレクトリに移動するコマンドです。移動先の指定方法には「絶対パス」と「相対パス」の2通りあります。

手順1:絶対パスで移動する

絶対パスは /(ルート)から始まるパスです。現在地がどこであっても確実に目的のディレクトリに移動できます。




ubuntu@linuxlab: ~
$ cd /tmp
$ pwd
/tmp

$ cd /usr/local/bin
$ pwd
/usr/local/bin

手順2:相対パスで移動する

相対パスは現在地を基点にしたパスです。/ から始めずに書きます。




ubuntu@linuxlab: /usr
$ pwd
/usr

$ cd local
$ pwd
/usr/local

$ cd bin
$ pwd
/usr/local/bin

現在地が /usr のとき、cd local と打つと /usr/local に移動します。cd /usr/local と打つのと結果は同じですが、相対パスの方が入力が短く済みます。

cd の便利な使い方(~・..・-)

cd には引数なし・~..- という特殊な書き方があり、これを知っているだけで操作速度が格段に上がります。実際に ubuntu:24.04 で確認した結果を見てみましょう。

① cd だけでホームに戻る

cd を引数なしで打つと、環境変数 $HOME が示すホームディレクトリに戻ります。どんなに深い階層にいても一発でホームに帰れます。




ubuntu@linuxlab: /var/log/apt
$ pwd
/var/log/apt

$ cd
$ pwd
/root

cd ~ と同じ動作です。$HOME の値(一般ユーザーなら /home/ユーザー名、root なら /root)に移動します。

② cd .. で1つ上の階層へ

..(ドット2つ)は「1つ上のディレクトリ」を意味します。




ubuntu@linuxlab: /usr/local/bin
$ cd ..
$ pwd
/usr/local

$ cd ../..
$ pwd
/usr

cd ../.. のように組み合わせて、一度に2階層上に移動することもできます。

③ cd – で直前のディレクトリに戻る

cd - は直前にいたディレクトリに戻る、正直これを知らないと損です。2つのディレクトリを行き来するときに非常に便利です。




ubuntu@linuxlab: ~
$ cd /tmp
$ cd /var/log
$ pwd
/var/log

$ cd –
/tmp
$ pwd
/tmp

$ echo $OLDPWD
/var/log
cd - で直前のディレクトリに戻る操作(実測)
cd – で直前のディレクトリに戻る操作(実測)

cd - が使えるのは、bash が直前のディレクトリを $OLDPWD という環境変数に自動保存しているからです。cd - を実行するとそのパスが表示され、移動します。ubuntu:24.04(bash 5.2.21)で実測済みです。

著者アイコン
著者アイコン

ログファイルを確認しながら設定ファイルを編集するとき、cd /var/logcd /etc/nginx を行き来するのに cd - が大活躍します。地味ですが覚えておくと作業効率が上がりますよ。

pwd -P と pwd -L の違い(シンボリックリンク)

シンボリックリンク経由でディレクトリに入っている場合、pwd の表示が2種類あります。これは少し上級ですが、VPS でサーバーを運用すると出てくるので把握しておきましょう。

オプション 動作 表示例
pwd(デフォルト = -L 論理パス(シンボリックリンクのまま表示) /tmp/link_dir
pwd -P 物理パス(シンボリックリンクを解決して実体を表示) /tmp/real_dir

実際に ubuntu:24.04 でシンボリックリンクを作成して確認した結果がこちらです。




ubuntu@linuxlab: ~
$ mkdir -p /tmp/real_dir
$ ln -s /tmp/real_dir /tmp/link_dir
$ cd /tmp/link_dir

$ pwd
/tmp/link_dir

$ pwd -P
/tmp/real_dir
pwd -P vs pwd -L の違い(実測)
pwd -P vs pwd -L の違い(実測)

pwd -L(デフォルト)はシンボリックリンクのパスをそのまま返し、pwd -P は実体のある物理パスを返します。スクリプトで実際のファイルシステムパスが必要な場面では pwd -P を使うのが正確です。

シンボリックリンクと pwd -P/-L の動作確認(実測)
シンボリックリンクと pwd -P/-L の動作確認(実測)

CDPATH で移動を効率化する

あまり知られていませんが、CDPATH という環境変数を設定すると、短いディレクトリ名だけで任意のパス配下に移動できます。




ubuntu@linuxlab: ~
$ mkdir -p /home/user/{projects,workspace}
$ export CDPATH=/home/user
$ cd /tmp

$ cd projects
/home/user/projects
$ pwd
/home/user/projects

CDPATH=/home/user を設定すると、/tmp にいても cd projects と打つだけで /home/user/projects に移動できます。頻繁に移動するディレクトリがある場合は ~/.bashrc に書いておくと便利です。

注意

CDPATH を設定すると、意図せず別の場所に移動してしまうことがあります。設定する場合は、よく使うパスだけを追加するようにしましょう。

よくあるエラーと解決策

① No such file or directory

一番よく見るエラーです。ディレクトリが存在しないか、パスのスペルが間違っています。




ubuntu@linuxlab: ~
$ cd /tmp/not_exist
bash: cd: /tmp/not_exist: No such file or directory

解決策: ls /tmp/ でディレクトリの存在を確認してから移動するか、mkdir -p /tmp/not_exist でディレクトリを作成してください。

② Not a directory

ファイル(ディレクトリでないもの)に cd しようとしたときに出ます。




ubuntu@linuxlab: ~
$ touch /tmp/testfile.txt
$ cd /tmp/testfile.txt
bash: cd: /tmp/testfile.txt: Not a directory

解決策: ls -la /tmp/ で対象がファイルかディレクトリかを確認してください(- で始まる行がファイル、d で始まる行がディレクトリです)。

③ Permission denied

移動先のディレクトリに読み取り権限がない場合に出ます。




ubuntu@linuxlab: ~
$ cd /root/restricted
bash: cd: /root/restricted: Permission denied

解決策: ls -la でパーミッションを確認し、必要なら sudo chmod +x /ディレクトリ で実行権限を付与するか、sudo cd ではなく sudo -i で root シェルに切り替えてから移動してください(cd は bash 組み込みのため sudo cd は動きません)。

まとめ

Ubuntu における cdpwd の基本操作をまとめます。

コマンド 動作 使用例
pwd 現在のディレクトリを絶対パスで表示 pwd/home/user
pwd -P シンボリックリンクを解決した物理パスを表示 pwd -P/tmp/real_dir
cd /パス 絶対パスで移動 cd /var/log
cd 相対パス 現在地から相対パスで移動 cd ../bin
cd または cd ~ ホームディレクトリに移動($HOME cd
cd .. 1つ上のディレクトリに移動 cd ..
cd - 直前のディレクトリに戻る($OLDPWD を利用) cd -

ubuntu:24.04(bash 5.2.21)での実測を通じて確認した通り、cdpwd は Linux のディレクトリナビゲーションの核心です。特に cd -pwd -P は知っているだけで作業効率が上がるので、ぜひ使ってみてください。

ディレクトリ移動ができたら、次はファイル一覧の確認(ls)やファイル検索(find / grep)にも挑戦してみましょう。

  • → Ubuntuのlsコマンド完全ガイド【オプション・隠しファイル表示】
  • → Ubuntuのgrepとfindコマンドでファイル・テキストを検索する方法

VPS を借りてサーバーを運用したい方は、こちらの記事も参考にしてください。

VPS 実測ベンチ比較記事を読む →

コメント

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