other versions
other sections
LINK(2) | Linux Programmer's Manual | LINK(2) |
名前¶
link - ファイルの新しい名前を作成する書式¶
#include <unistd.h>説明¶
link() は存在するファイルへの新しいリンク (link) (ハードリンク (hard link) ともいう) を作成する。返り値¶
成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。エラー¶
- EACCES
- newpath を含んでいるディレクトリへの書き込みが許されていないか、 oldpath または newpath へのディレクトリのどれかに検索許可がない ( path_resolution(7) を参照)。
- EEXIST
- newpath が既に存在する。
- EFAULT
- oldpath や newpath がアクセス可能なアドレス空間の外を指している。
- EIO
- I/O エラーが発生した。
- ELOOP
- oldpath または newpath を解決する際に遭遇したシンボリックリンクが多過ぎる。
- EMLINK
- oldpath によって参照されるファイルは 既に最大数までのリンクを持っている。
- ENAMETOOLONG
- oldpath または newpath が長過ぎる。
- ENOENT
- oldpath または newpath のディレクトリ部分が存在しないか、 壊れた(dangling)シンボリックリンクである。
- ENOMEM
- 十分なカーネルメモリーがない。
- ENOSPC
- そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための空きがない。
- ENOTDIR
- oldpath または newpath のディレクトリ部分が、実際には、ディレクトリでない。
- EPERM
- oldpath がディレクトリである。
- EPERM
- oldpath と newpath を含んでいるファイルシステムがハードリンクをサポートしていない。
- EROFS
- ファイルが読み込み専用のファイルシステムに存在する。
- EXDEV
- oldpath と newpath が同じマウントされたファイルシステムに存在しない。 (Linux は 1 つのファイルシステムを複数のマウント位置に マウントすることを許可している。 しかし link() は、たとえ同じファイルシステムであっても、 別々のマウント位置を跨いでは動作しない。)
準拠¶
SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。注意¶
link() でファイルシステムを超えてハードリンクを作成することはできない。 このような場合は symlink(2) を使用すること。バグ¶
NFS ファイルシステムでは、NFS サーバーがリンクを作成した後に、 それを伝える前に死んだ場合には返り値が不正な場合がある。 リンクが作成できたかどうか見つけるためには stat(2) を使用すること。関連項目¶
ln(1), linkat(2), open(2), rename(2), stat(2), symlink(2), unlink(2), path_resolution(7), symlink(7)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2008-08-21 | Linux |