tail head cat sleep
QR code linking to this page

manページ  — CHDIR

名称

chdir, fchdir – 現在の作業ディレクトリを変更する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <unistd.h>

int
chdir(const char *path);

int
fchdir(int fd);

解説

path 引数は、ディレクトリのパス名を指します。 chdir() システムコールによって、指定されたディレクトリが 現在の作業ディレクトリ、すなわちスラッシュ ‘/’ で開始しないパス名のパス検索の開始点になります。

fchdir() システムコールによって、 fd が参照するディレクトリが 現在の作業ディレクトリ (スラッシュ ‘/’ で開始しないパス名のパス検索の開始点) になります。

ディレクトリが現在の作業ディレクトリになるためには、 プロセスがそのディレクトリへの 実行 (検索) アクセス許可を持っている必要があります。

戻り値

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

次のうち 1 つ以上が真の場合、 chdir() システムコールの処理は失敗し、現在の作業ディレクトリは変更されません:
[ENOTDIR]
  パスの構成要素中にディレクトリ以外のものが含まれています。
[ENAMETOOLONG]
  パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。
[ENOENT]
  指定されたディレクトリが存在しません。
[ELOOP]
  パス名を変換するときに検出されたシンボリックリンクが多すぎます。
[EACCES]
  パス名の構成要素のいずれかで、検索が許可されていません。
[EFAULT]
  path 引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
[EIO] ファイルシステムに読み書きしている間に入出力エラーが発生しました。

次のうち 1 つ以上が真の場合、 fchdir() システムコールの処理は失敗し、現在の作業ディレクトリは変更されません:
[EACCES]
  ファイル記述子が参照するディレクトリで検索が許可されていません。
[ENOTDIR]
  ファイル記述子がディレクトリを参照していません。
[EBADF]
  引数 fd が有効なファイル記述子ではありません。

関連項目

chroot(2)

規格

chdir() システムコールは IEEE Std 1003.1-90 ("POSIX.1") に適合しています。

歴史

chdir() システムコールは AT&T v7 で登場しました。 fchdir() システムコールは BSD 4.2 で登場しました。

CHDIR (2) December 11, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Like a classics radio station whose play list spans decades, Unix simultaneously exhibits its mixed and dated heritage. There's Clash-era graphics interfaces; Beatles-era two-letter command names; and systems programs (for example, ps) whose terse and obscure output was designed for slow teletypes; Bing Crosby-era command editing (# and @ are still the default line editing commands), and Scott Joplin-era core dumps.
— The Unix Haters' handbook