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

unlink

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

unlink




書式

     #include <unistd.h>

     int
     unlink(const char *path);


解説

     unlink() 関数は、 path で指定されたリンクをディレクトリから削除し、そのリ
     ンクで参照されていたファイルのリンク数を減らします。ファイルのリンク数が
     0 になり、ファイルを開いているプロセスがなくなると、ファイルに関連するす
     べてのリソースが再利用されます。最後のリンクが削除されたときに、ファイル
     を開いているプロセスが 1 つ以上あると、リンクは削除されますが、ファイルの
     削除は、そのファイルへのすべての参照が閉じられるまで延期されます。 path
     は、ディレクトリでない場合もあります。


戻り値

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


エラー

     unlink() は、以下の場合に処理を失敗します。

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

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

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

     [EACCES]           前置パス名の構成要素について検索許可が拒否されていま
                        す。

     [EACCES]           削除するリンクを含むディレクトリで、書込み許可が拒否さ
                        れています。

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

     [EPERM]            指定されたファイルがディレクトリになっています。

     [EPERM]            ファイルを含むディレクトリがスティッキーとマークされ、
                        削除するファイルを含むディレクトリまたはファイルが、有
                        効なユーザ ID に所有されていません。

     [EBUSY]            リンクを削除するエントリが、マウント済みファイルシステ
                        ムのマウントポイントです。

     [EIO]              ディレクトリエントリの削除中か、inode の割当て解除中に
                        入出力エラーが発生しました。

     を実行することは、すでに許可されなくなっています。

FreeBSD 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス