- 書式
- cd [DIRECTORY]
概要
cd
コマンドは
カレントディレクトリを変更します。
DIRECTORY
が与えられれば、
それが変更先ディレクトリになります。
引数が与えられなければ
環境変数 HOME
のディレクトリ
(ホームディレクトリ)
になります。
DIRECTORY
が相対パスであるとき、
環境変数配列 CDPATH
が
プレフィクスを補おうとします。
fishは cd -
で
直前のディレクトリに変更できるようにするために、
ビルトインの cd
のラッパー関数を用意しています。
prevd も参照してください。
cd
関数は最近訪れた25ディレクトリを
グローバル変数 $dirprev
と $dirnext
で
管理しています。
自動cd
fishは cd
と入力せずに
以下の条件でディレクトリ名のみを与えられれば、
ディレクトリを変更しようとします。
.
で始まる/
で始まる~
で始まる/
で終わる
実行例
# どちらもホームディレクトリに移動する $ cd $ ~ # /usr/src/fish-shellに移動する $ cd /usr/src/fish-shell
訳注:ここから実例追加。
ディレクトリを指定すれば、
自動 cd
できます。
$ /tmp $ pwd /tmp # lsというディレクトリを作成 $ mkdir ls # lsと指定するだけでは通常のlsが実行される $ ls | head -1 Mail # /を付けると自動cdが働く $ ls/ $ pwd /tmp/ls $ cd .. $ ./ls $ pwd /tmp/ls
たとえ存在するディレクトリとしても、
/
を付けないと自動 cd
しません。
$ /tmp $ mkdir xxxx $ xxxx xxxx: command not found $ ./xxxx $ pwd /tmp/xxxx
CDPATH
には
よく使うディレクトリを
設定すると便利です。
$ pwd /r/sync/memo/wp/fish $ set -Ux CDPATH /r/sync/memo /tmp $ mkdir /tmp/xyz $ cd # ホームディレクトリから一気に/r/sync/memo/wpへ移動! $ cd wp $ pwd /r/sync/memo/wp # /tmp/xyzへ移動! $ cd xyz $ pwd /tmp/xyz # 自動cdとCDPATHは併用できない $ cd $ ./xyz ./xyz: command not found $ cd ./xyz cd: The directory './xyz' does not exist $ cd xyz $ pwd /tmp/xyz
最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。