ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 現在の作業用ディレクトリの変更
/usr/bin/cd [directory]
cd [argument]
chdir [argument]
cd [dir]
chdir [dir]
pushd [+n | dir]
popd [+n]
dirs [-l]
cd [-L] [-P] [arg]
cd old new
/usr/bin/cd ユーティリティは、cd ユーティリティ自身だけの現在のディレクトリを変更します。これは、後述するシェル組み込みの cd とは対照的です。/usr/bin/cd はプロセスの呼び出しには影響しませんが、あるディレクトリを現在のディレクトリとして設定できるかどうかを決定するのに使用できます。
Bourne シェルに組み込まれている cd は、現在のディレクトリを argument で指定されたディレクトリに変更します。シェルパラメータ HOME は、argument のデフォルト値です。シェルパラメータ CDPATH は、argument を含むディレクトリの検索パスを定義します。2 つのディレクトリ名は、コロン (:) で区切ります。デフォルトのパスは空の文字列です (現在のディレクトリの指定)。現在のディレクトリは空のパス名で指定します。このパス名は、等号の直後か、パスリスト内にある区切り文字のコロンの間に指定します。argument の先頭文字が /、.、. . の場合、検索パスは使用しません。それ以外の場合は、パス中の各ディレクトリで argument を検索します。cd は、argument 中で実行 (検索) 権を持っていなければなりません。コマンドを実行するたびに新しいプロセスが生成されるため、cd を通常のコマンドとして実装した場合は効率が悪くなります。そのため、cd コマンドは、シェルに組み込まれています。(pwd(1)、sh(1)、chdir(2) を参照)
chdir は、cd を呼び出すもうひとつの方法です。
dir 引数を指定しない場合、 C シェルに組み込まれている cd は、シェル変数 HOME の値を新たな作業用ディレクトリとして使用します。dir を指定した場合、それが /、.、または . . で始まる完全なパス名であれば、その dir が新たな作業ディレクトリとなります。それ以外の場合は、シェル変数 CDPATH が指定するパスと相対関係を持つディレクトリの中から該当するものを探し出します。CDPATH の構文は PATH シェル変数と同一で、セマンティクスも似ています。cd は dir に対する実行 (検索) 権を持っていなければなりません。コマンドを実行するたびに新しいプロセスが生成されるため、cd を通常のコマンドとして実装した場合は、効率が悪くなります。そのため、cd コマンドは、C シェルに組み込まれています。(pwd(1)、sh(1)、chdir(2) を参照)
chdir はシェルの作業用ディレクトリを dir が示すディレクトリに変更します。引数を指定しないと、そのユーザーのホームディレクトリに変更します。dir が現在のディレクトリには見つからない相対パス名の場合、変数 cdpath 内のディレクトリリストを検索します。dir が / で始まる値を持つシェル変数の名前である場合、その変数の値が示すディレクトリに変更します。
pushd はディレクトリスタックにディレクトリをプッシュ (押し込む) します。引数を指定しないと、トップの 2 つの構成要素を交換します。
n 番目のエントリとトップスタックを交換しそれに cd します。
現在の作業用ディレクトリをスタックにプッシュし、dir を新たな作業用ディレクトリとします。
popd はディレクトリスタックからポップして (取り出して)、新たに先頭となったディレクトリへ cd します。ディレクトリスタックの構成要素は、トップディレクトリを 0 として番号付けられます。
スタック内の n 番目のエントリを破棄します。
dirs はディレクトリスタックを出力します。現在のディレクトリが最も左に現れるように時間順に出力されます。-l 引数を指定すると、~ を使った省略形ではなく、完全な形式で出力されます。
Korn シェルに組み込まれた cd コマンドは、前述の 2 つの形式のいずれかで入力します。第 1 の形式は、現在のディレクトリを arg に変更します。arg が – の場合、ディレクトリを直前のディレクトリに変更します。シェル変数 HOME の値がデフォルトの arg になります。PWD 環境変数は、現在のディレクトリに設定されます。PWD が変更された場合、OLDPWD 環境変数も古い作業用ディレクトリに変更されます。つまり、cd を呼び出す直前における現在の作業用ディレクトリのことです。シェル変数 CDPATH は、arg を含むディレクトリの検索パスを定義します。2 つのディレクトリ名は、コロン (:) で区切ります。デフォルトのパスは空の文字列です (現在のディレクトリの指定)。現在のディレクトリは空のパス名で指定します。このパス名は、等号の直後か、パスリスト内にある区切り文字のコロンの間に指定します。arg の先頭文字が /、.、または . . の場合、検索パスは使用しません。それ以外の場合は、パス中の各ディレクトリで arg を検索します。成功しなかった場合、cd は、PWD の値、スラッシュ文字、および arg を連結したパス名のディレクトリへ変更しようとします。
オペランドのドットドット (..) を論理的に処理します。ドットドット部分が処理される前に、シンボリックリンク部分は解釈処理されません。
オペランドのドットドット(..) を物理的に処理します。ドットドット部分が処理される前に、シンボリックリンク部分は解釈処理されます。
-L と -P の両方のオプションを指定した場合、最後に呼び出された方のオプションが使用され、他方のオプションは無視されます。-L オプションと -P オプションをどちらも指定しない場合、オペランドのドットドット (..) は論理的に処理されます。
cd の第 2 の形式は、PWD 中の現在のディレクトリ名における old という文字列を new という文字列に置換し、この新規のディレクトリへ変更しようとします。
cd コマンドは rksh では実行できません。コマンドを実行するたびに新しいプロセスが生成されるため、cd を通常のコマンドとして実装した場合は、効率が悪くなります。そのため、cd コマンドは、ksh に組み込まれています。(pwd(1)、sh(1)、chdir(2) を参照)
次のオペランドがサポートされています。
新たな作業用ディレクトリとなるディレクトリの絶対または相対パス名。cd が相対パス名をどのように解釈するかは、環境変数 CDPATH の設定により異なります。
CDPATH に設定されている空でないディレクトリ名が用いられる場合、新たな作業用ディレクトリの絶対パス名が以下のような形式で標準出力に出力されます。
"%s\n", <new directory>
それ以外の場合には、何も出力されません。
cd の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、および NLSPATH。
コロンで区切られた、ディレクトリを示すパス名のリスト。directory オペランドの先頭文字がスラッシュ (/) でなく、先頭部分がドットでもドットドットでもない場合には、cd はこのリスト内のパス名を順番に検索し、環境変数 CDPATH に指定されている名前のディレクトリから directory を探します。その結果、最初に見つかったディレクトリ名が新たな作業用ディレクトリとなります。ディレクトリのパス名として空の文字列を指定すると、それは現在のディレクトリと見なされます。CDPATH は、設定されていないときには空の文字列として扱われます。
directory オペランドが省略されたときに用いるホームディレクトリの名前
直前の作業用ディレクトリのパス名。この変数は、cd- で使用されます。
現在の作業用ディレクトリのパス名。この変数は、そのディレクトリに移った後に cd により設定されます。
cd により、次の終了値が返されます。
ディレクトリが正常に変更されました。
エラーが発生しました。
属性についての詳細は、attributes(5) を参照してください。
|
|
csh(1), ksh(1), ksh88(1), pwd(1), sh(1), chdir(2), attributes(5), environ(5), standards(5)