UNLINK
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
unlink
- ディレクトリエントリの削除
索引
ライブラリ
Lb libc
索引
書式
In unistd.h
Ft int
Fn unlink const char *path
索引
解説
Fn unlink
システムコールは、
Fa path
で指定されたリンクをディレクトリから削除し、
そのリンクで参照されていたファイルのリンク数を減らします。
ファイルのリンク数が 0 になり、ファイルを開いているプロセスがなくなると、
ファイルに関連するすべてのリソースが再利用されます。
最後のリンクが削除されたときに、ファイルを開いているプロセスが
1 つ以上あると、リンクは削除されますが、ファイルの削除は、
そのファイルへのすべての参照が閉じられるまで延期されます。
Fa path
引数は、ディレクトリであってはなりません。
索引
戻り値
Rv -std unlink
索引
エラー
Fn unlink
は、以下の場合に処理を失敗します。
- Bq Er ENOTDIR
-
パスの構成要素中にディレクトリ以外のものが含まれています。
- Bq Er ENAMETOOLONG
-
パス名の構成要素が 255 文字を越えているか、
またはパス名全体が 1023 文字を越えています。
- Bq Er ENOENT
-
指定されたファイルが存在しません。
- Bq Er EACCES
-
前置パス名の構成要素について検索許可が拒否されています。
- Bq Er EACCES
-
削除するリンクを含むディレクトリで、書込み許可が拒否されています。
- Bq Er ELOOP
-
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
- Bq Er EPERM
-
指定されたファイルがディレクトリになっています。
- Bq Er EPERM
-
指定されたファイルはそれが変更不可 (immutable) であるか追加専用
(append-only) のフラグが設定されています。
詳しい情報に関しては
chflags(2)
マニュアルページを参照してください。
- Bq Er EPERM
-
ファイルを含むディレクトリがスティッキとマークされ、
削除するファイルを含むディレクトリまたはファイルが、
有効なユーザ ID に所有されていません。
- Bq Er EBUSY
-
リンクを削除するエントリが、
マウント済みファイルシステムのマウントポイントです。
- Bq Er EIO
-
ディレクトリエントリの削除中か、inode の割り当て解除中に
入出力エラーが発生しました。
- Bq Er EROFS
-
指定されたファイルは読取り専用ファイルシステム上にあります。
- Bq Er EFAULT
-
Fa path
引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
索引
関連項目
chflags(2),
close(2),
link(2),
rmdir(2),
symlink(7)
索引
歴史
Fn unlink
関数は、
AT&T System
v6
で登場しました。
従来の
Fn unlink
システムコールでは、スーパユーザがディレクトリを削除できてしまい、
これによってファイルシステムの完全性が破壊されることがありました。
それを実行することは、すでに許可されなくなっています。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- エラー
-
- 関連項目
-
- 歴史
-
Time: 07:06:32 GMT, January 12, 2009