日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
UNLINK(2) FreeBSD システムコールマニュアル UNLINK(2) 名称 unlink, unlinkat -- ディレクトリエントリを削除する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <unistd.h> int unlink(const char *path); int unlinkat(int fd, const char *path, int flag); 解説 unlink() システムコールは、そのディレクトリから path によって指定されたリ ンクを削除し、リンクによって参照されたファイルのリンクカウントを減少しま す。その減少によって、ファイルのリンクカウントが 0 となり、ファイルをオー プンしているプロセスがなくなるなら、ファイルに関連したすべてのリソース は、再利用されます。最後のリンクが削除されるとき、1 つ以上のプロセスに オープンしているファイルがあるなら、リンクは、削除されますが、ファイルの 削除は、そのファイルへのすべての参照がクローズされるまで、遅延されます。 path 引数は、ディレクトリであってはなりません。 unlinkat() システムコールは、path が相対的なパスを指定する場合を除いて、 unlink() または rmdir() と同様です。この場合に、削除されるディレクトリエ ントリは、カレントワーキングディレクトリの代わりに、ファイル記述子 fd に 関連しているディレクトリに相対的に決定されます。 flag のための値は、<fcntl.h> で定義され、次のリストからフラブのビット単位 の包括的論理和 (OR) によって構成されます: AT_REMOVEDIR 通常のファイルではなく、ディレクトリとして fd と path によって指 定されたディレクトリエントリを削除します。 unlinkat() が、fd パラメータの特別な値 AT_FDCWD を渡されるなら、カレント ワーキングディレクトリが、使用され、振る舞いは、AT_REMOVEDIR ビットがフラ グに設定されているかどうかに依存して、それぞれ unlink または rmdir への呼 び出しと同様です。 戻り値 関数 unlink() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno にエラーを示す値が設定されます。 エラー unlink() は、次の場合を除いて成功します: [ENOTDIR] パス接頭辞の構成要素がディレクトリではありません。 [EISDIR] 指定されたファイルが、ディレクトリです。 [ENAMETOOLONG] パス名の構成要素が、255 文字を越えているか、または全体 のパス名が、1023 文字を越えています。 [ENOENT] 指定されたファイルが存在しません。 [EACCES] 検索パーミッションが、パス接頭辞の構成要素に対して拒否 されました。 [EACCES] 書み込みパーミッションが、削除されるリンクを含んでいる ディレクトリで、拒否されました。 [ELOOP] パス名を変換するときにあまりに多くのシンボリックリンク に遭遇しました。 [EPERM] 指定されたファイルがディレクトリです。 [EPERM] 指定されたファイルには、不変、削除不可、または、追加専 用フラグが設定されています、詳細については、chflags(2) マニュアルページを参照してください。 [EPERM] 指定されたファイルの親のディレクトリには、不変のフラグ または、追加専用フラグが設定されています。 [EPERM] ファイルを含むディレクトリがスティッキとマークされ、 ディレクトリを含んでいるのでもなく削除されるファイルで もないファイルが実効ユーザ ID によって所有されていませ ん。 [EIO] ディレクトリエントリの削除しているか、または inode の 割り付け解除の間に I/O エラーが起こりました。 [EROFS] 指定されたファイルが、読み込み専用のファイルシステムに 存在します。 [EFAULT] path 引数が、プロセスの割り付けられたアドレス空間の外 側を指しています。 [ENOSPC] copy-on-write またはスナップショットをサポートしている ファイルシステムで、ファイルの削除操作のためのメタデー タを記録するために、十分な空き空間がありませんでした。 unlink() によって返されたエラーに加えて unlinkat() は、次の場合に失敗しま す: [EBADF] path 引数が、絶対パスを指定していません、そして fd 引 数が、AT_FDCWD でもなく検索のためにオープンされた有効 なファイル記述子でもありません。 [ENOTEMPTY] flag パラメータには、AT_REMOVEDIR ビットの設定があり、 path 引数が空のディレクトリでないディレクトリを指定す るか、またはドット (.) 以外のディレクトリか、または ドットドット (..) の単一のエントリへのハードリンクがあ ります。 [ENOTDIR] flag パラメータには、AT_REMOVEDIR ビットの設定があり、 path がディレクトリを指定していません。 [EINVAL] flag 引数の値が、有効ではありません。 [ENOTDIR] path 引数が、絶対パスではなく、fd が、AT_FDCWD でもな くディレクトリに関連しているファイル記述子でもありませ ん。 関連項目 chflags(2), close(2), link(2), rmdir(2), symlink(7) 規格 unlinkat() システムコールは、The Open Group Extended API Set 2 仕様に従っ ています。 歴史 unlink() 関数は、Version 6 AT&T UNIX で登場しました。unlinkat() システム コールは FreeBSD 8.0 で登場しました。 伝統的な unlink() システムコールによって、スーパユーザは、ファイルシステ ムの整合性に損傷を受けるかもしれないディレクトリをアンリンクすることがで きます。この実装は、もはやそれを許可しません。 FreeBSD 11.2 July 28, 2015 FreeBSD 11.2