cd シーディー

英語表記cd

日本語表記ディレクトリ移動

正式名称cd

危険度安全

What does it mean?

現在の作業ディレクトリを変更します。シェル自身の状態を変えるため、外部コマンドではなくシェル組み込みとして理解することが重要です。

Command Quest

cd を今日の道具にする

現在の作業ディレクトリを変更します。シェル自身の状態を変える...

$ cd [ディレクトリ] cd - cd -L [ディレクトリ] cd -P [ディレクトリ]
関連用語12
次のコマンド0
FAQ2
参照4

概要

現在の作業ディレクトリを変更します。シェル自身の状態を変えるため、外部コマンドではなくシェル組み込みとして理解することが重要です。

基本構文

cd [ディレクトリ]
cd -
cd -L [ディレクトリ]
cd -P [ディレクトリ]

詳細解説

cdは、シェルが現在どのディレクトリを基点として相対パスを解釈するかを切り替えるコマンドです。ls、cp、find、実行ファイルの相対指定など、多くの操作は現在の作業ディレクトリを前提に動くため、cdはLinuxの基本中の基本です。

最大のポイントは、cdが現在のシェル実行環境を変更することです。子プロセスで実行した外部コマンドは親シェルの作業ディレクトリを変えられないため、cdは通常シェル組み込みで提供されます。

実務では、プロジェクトのルートへ移動して作業する、ログ保存先へ入る、設定ディレクトリへ移る、相対パス前提のスクリプトを読むといった場面で常に使います。

このコマンドを使う場面

作業場所を切り替えたい時、相対パスを使う前提のコマンドを実行する時、設定ディレクトリやログディレクトリへ移動して内容確認をしたい時に使います。

まず安全に試す方法

まずは読み取り専用の場所で現在位置の変化だけを確認します。

1. pwd
2. cd /etc
3. pwd
4. cd -
5. pwd

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. pwdで現在位置を確認してからcd /etcで移動し、再度pwdで結果を確認します。

  2. 2つのディレクトリをcd -で往復し、作業の切り替えに慣れます。

資格試験との関連

  • LinuC レベル1
    範囲: 1.03.1 コマンドラインの操作
    根拠: official
    LinuCレベル1では、コマンドライン操作やシェル環境の理解が問われます。cdはその基礎を支える代表的なコマンドです。
  • LPIC-1
    範囲: 105.1 シェル環境のカスタマイズと利用
    根拠: official
    LPIC-1では、シェル環境、変数、履歴、コマンド解決の理解が重視されます。cdはその周辺知識と一緒に学ぶ価値が高いコマンドです。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    試験横断で、cdはコマンドライン操作、手順読解、トラブルシュートの基礎体力を作る項目です。

オプション

  • -L
    シンボリックリンクを含む論理パスを基準に移動先を解釈します。
    cd -L ./linkdir/..
  • -P
    実体パスを基準に移動します。
    cd -P ./linkdir/..
  • -
    直前の作業ディレクトリへ戻ります。
    cd -

実行結果サンプル

  • pwd cd /etc pwd
    /home/user
    /etc
  • cd /var/log cd -
    /home/user

戻り値コード

  • 0 正常終了。指定したディレクトリへ移動できました。
  • >0 指定先が存在しない、権限がない、またはその他のエラーで移動できませんでした。

使用例

  • cd /etc
  • cd ..
  • cd -
  • pwd

よくあるエラー

  • cdしているつもりなのに別ターミナルでは場所が変わらない
    原因: cdは現在のシェルだけに作用し、他の端末や親プロセスには影響しません。
    対処: 作業したい端末ごとにcdします。
  • 相対パスで実行したら別ファイルを参照してしまった
    原因: 現在の作業ディレクトリを誤解しています。
    対処: 実行前にpwdで位置を確認し、必要なら絶対パスを使います。

導入・互換性情報

POSIXではcdはシェル組み込みとして定義されます。-Lは論理パスを優先し、-Pはシンボリックリンク解決後の物理パスを優先します。

Bash、Dash、Zshなど主要シェルで基本は共通ですが、CDPATHや表示メッセージには実装差があります。

  • Debian GNU/Linux / 13 / Bash 5.2.37

注意点 / セキュリティリスク

危険度は低いですが、相対パス前提の作業では移動先を誤ると別のファイルを編集、削除、上書きしてしまう原因になります。操作前にpwdで位置を確認するのが安全です。

FAQ

  • Q. cdはなぜ外部コマンドではなく組み込みなのですか。
    A. 外部プログラムが自分自身の作業ディレクトリを変えても親シェルには反映されないためです。
  • Q. cd -は何に使いますか。
    A. 直前のディレクトリへ戻るために使います。

関連用語

  • POSIX
  • CLI
  • ターミナル
  • TTY
  • PTY
  • 仮想コンソール
  • HOME
  • directory
  • relative path
  • current directory
  • home directory
  • root directory

参照リンク

関連記事