symlink(2) FreeBSD 一般コマンドマニュアル

symlink

前のページ 上に戻る 次のページ

symlink




書式

     #include <unistd.h>

     int
     symlink(const char *name1, const char *name2);


解説

     シンボリックリンク name2name1 に作成されます (name2 は作成されるファ
     イルの名前で、 name1 はシンボリックリンクの作成に使用される文字列です)。
     どちらの名前も任意のパス名です。ファイルが同じファイルシステムに存在する
     必要はありません。


戻り値

     関数 symlink() は、処理が成功すると値 0 を返します。そうでない場合、値 -1
     が返され、グローバル変数 errno が設定されてエラーを示します。


エラー

     以下のような場合、シンボリックリンクはエラーとなります。

     [ENOTDIR]          name2 パスの構成要素中にディレクトリ以外のものが含まれ
                        ています。

     [ENAMETOOLONG]     パス名の構成要素が 255 文字を越えているか、またはパス
                        名全体が 1023 文字を越えています。

     [ENOENT]           指定されたファイルが存在しません。

     [EACCES]           name2 指定されたパスには、検索が許可されていないディレ
                        クトリが含まれています。

     [ELOOP]            パス名を変換するときに検出されたシンボリックリンクが多
                        すぎます。

     [EEXIST]           name2 がすでに存在します。

     [EIO]              name2 のディレクトリエントリの作成中、または name2 の
                        i ノード の割り当て中、あるいは name2 のリンクコンテン
                        ツの書き出し中に入出力エラーが発生しました。

     [EROFS]            ファイル name2 は読取り専用ファイルシステム上にありま
                        す。

     [ENOSPC]           新しいシンボリックリンクを作成するディレクトリを含む
                        ファイルシステム上に空間が残っていないため、新しいシン
                        ボリックリンクを作成できません。

     [ENOSPC]           シンボリックリンクを含むファイルシステム上にシンボリッ
                        クリンクを作る空間が残っていないため、新しいシンボリッ
                        クリンクを作成できません。

     [ENOSPC]           シンボリックリンクを作成するファイルシステム上の i ノ
                        て中に入出力エラーが発生しました。

     [EFAULT]           name1name2 が、プロセスに割り当てられたアドレス空
                        間の範囲外を指しています。


関連項目

     ln(1), link(2), lstat(2), readlink(2), unlink(2), symlink(7)


歴史

     symlink() 関数呼び出しは、 4.2BSD で登場しました。

FreeBSD 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス