cd コマンド
目次
概要
cd - ディレクトリを移動するコマンドライン
cd [-L|[-P [-e]] [-@]] [dir]
対象バージョン
- RHEL10
- Ubuntu 24.04
説明
指定したディレクトリに移動
カレントディレクトリを dir
に変更します。
$ cd /tmp # /tmp に移動する
親ディレクトリに移動(..)
..
はひとつ上の階層のディレクトリを示します。
$ cd /usr/local/bin # /usr/local/bin に移動する $ cd .. # /usr/local に移動する
ホームディレクトリに移動(~)
dir
を省略すると、ホームディレクトリに移動します。
$ cd # ホームディレクトリに移動する
~
は自分自身のホームディレクトリを意味します。(引数を省略した場合と同じ動作)
$ cd ~ # ホームディレクトリに移動する
~user
は user
のホームディレクトリを意味します。
$ cd ~yamada # yamada ユーザーのホームディレクトリに移動する
ひとつ前のディレクトリに移動(OLDPWD)
dir
に -
を指定すると、環境変数 OLDPWD
に格納されているひとつ前のディレクトリに移動します。
$ cd /tmp # /tmp に移動 $ cd /var # /var に移動 $ cd - # ひとつ前の /tmp に移動
検索で見つかったディレクトリに移動(CDPATH)
環境変数 CDPATH
にパス名をコロン(:
)区切りで指定しておくと、dir
がカレントディレクトリに見つからない場合、CDPATH
で指定されたパス名配下を順番に探して最初に見つかったディレクトリに移動します。下記の例ではカレントディレクトリに html
フォルダが見つからない場合、/var/www/html
や /usr/local/www/html
ディレクトリを探して移動します。
$ export CDPATH=/var/www:/usr/local/www $ cd html /var/www/html
環境変数で指定したディレクトリに移動(cdable_vars)
シェルの cdable_vars
オプションが有効で dir
がカレントディレクトリに見つからない場合、dir
を環境変数とみなし、その環境変数の値が示すディレクトリに移動します。
$ shopt -s cdable_vars # cdable_vars オプションを有効化 $ export myproj=/usr/local/myproj # 環境変数を設定 $ cd myproj # /usr/local/myproj に移動 /usr/local/myproj
シンボリックリンクの物理移動と論理移動(physical)
シェルオプションの physical
はシンボリックリンクを移動する際に、物理移動するか、論理移動するかを指定します。物理移動の場合、シンボリックリンクを考慮しない物理的パスに移動します。論理移動の場合シンボリックリンクを考慮した論理的パスに移動します。
$ ln -s /usr/local/bin ~/bin # シンボリックリンクを張る $ set -o physical # physicalオプションを設定 $ cd ~/bin # 物理移動 $ pwd /usr/local/bin $ set +o physical # physicalオプションを解除 $ cd ~/bin # 論理移動 $ pwd /home/yamada/bin
オプション
- -L
- シェルの
physical
オプションに関わらず論理移動します。 - -P
- シェルの
physical
オプションに関わらず物理移動します。 - -e
- -P と共に使用し、ディレクトリ移動後、カレントディレクトリの物理パス名を取得できない場合にエラー(0以外の値)を返します。
- -@
- Linux ではあまり利用されていません。拡張属性をサポートするシステムで使用されます。
関連項目
Copyright (C) 2025 杜甫々
初版:2025年7月13日 最終更新:2025年7月13日
https://www.tohoho-web.com/linux/cmd/cd.html