プログラミングの用語一覧へ
このページの目次

cdとは?

読み方:cd

最終更新:2026/08/18

3秒でわかる

作業中のディレクトリを移動するコマンド。ターミナルでの操作はすべて現在地からの相対で動くため、まず cd で目的の場所に立つことが出発点になります。

もう少し詳しく

どういうものか

cd は change directory の略で、シェルが「今どこにいるか」を示すカレントディレクトリを移すコマンドである。移動しても画面には何も表示されないが、pwd を打てば現在地が分かる。

引数の書き方は 2 通りある。/etc/nginx のようにルートから書く絶対パスと、今いる場所を起点にする相対パスである。相対パスでは . が現在地、.. が 1 つ上の階層、~ がホームディレクトリを指す。

なぜ必要か

コマンドの多くは、パスを省略すると現在地を対象にする。ls も npm install も git status も、どこで打つかで結果がまるで変わる。プロジェクトのルートではなくホームディレクトリで npm install を打ってしまい、身に覚えのない node_modules がホームに出来るのはよくある事故である。

つまり cd はファイル操作そのものではなく、これから打つコマンドの「宛先」を決める操作になる。

具体例

pwd                 # /home/sakura ── 今の場所を確認
cd projects/webapp  # 相対パスで下へ
pwd                 # /home/sakura/projects/webapp

cd ..               # 1 つ上へ (projects へ)
cd ../..            # 2 つ上へ
cd /var/log         # 絶対パスで一気に移動
cd ~                # ホームへ (cd だけでも同じ)
cd -                # 直前にいたディレクトリへ戻る

cd - は覚えておくと効く。ログを見に /var/log へ飛んだあと、長いパスを打ち直さずに作業ディレクトリへ帰れる。

つまずきやすいところ

スペースを含むディレクトリ名でつまずく。cd My Documents は 2 つの引数と解釈されて失敗するので、cd "My Documents" と引用符で囲むか cd My\ Documents とエスケープする。

もう 1 つ、シェルスクリプトの中で cd しても、スクリプトを終えた後の親シェルの現在地は変わらない。スクリプトは子プロセスで動き、カレントディレクトリはプロセスごとに持つためである。呼び出し元の現在地を変えたい場合は source script.sh で同じシェル内で実行する。

覚え方

cd は「移動」ではなく「今いる場所の付け替え」と捉えると、スクリプト内の cd が外に響かない理由まで一続きで納得できる。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地cdプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Linux入門:コマンド操作のきほん

14レッスン
コース

Linux道場 商店街サーバー障害対応の10問

10レッスン
コース

Webサーバー構築入門:nginx・systemd

21レッスン
Linuxコースの全編を見る