日本語 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
GETDIRENTRIES(2) FreeBSD システムコールマニュアル GETDIRENTRIES(2) 名称 getdirentries, getdents -- ファイルシステムに独立な形式でディレクトリエン トリを取得する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <sys/types.h> #include <dirent.h> int getdirentries(int fd, char *buf, int nbytes, long *basep); int getdents(int fd, char *buf, int nbytes); 解説 getdirentries() と getdents() システムコールは、ファイルシステムに独立の 形式で buf によって指されたバッファにファイル記述子 fd によって参照された ディレクトリからディレクトリエントリを読み込みます。データの nbytes ま で、転送されます。nbytes 引数は、ファイルと関連したブロックサイズ以上でな ければなりません、stat(2) を参照してください。いくつかのファイルシステム は、このサイズより小さなバッファで、これらのシステムコールをサポートしま せん。 バッファのデータは、次のエントリをそれぞれ含んでいる一連の dirent 構造体 です: uint32_t d_fileno; uint16_t d_reclen; uint8_t d_type; uint8_t d_namlen; char d_name[MAXNAMLEN + 1]; /* 下記参照 */ d_fileno エントリは、ファイルシステムの個別のファイルごとのユニークな数で す。ハードリンク (link(2) を参照) によってリンクファイルは、同じ d_fileno があります。d_reclen エントリは、ディレクトリレコードのバイト単位の長さで す。d_type エントリは、ディレクトリレコードによって指されるファイルのタイ プです。ファイルタイプの値は、<sys/dirent.h> に定義されています。d_name エントリは、ヌル文字で終了するファイル名を含んでいます。d_namlen エントリ は、ヌルバイトを除いてファイル名の長さを指定します。したがって、d_name の 実際のサイズは、1 から MAXNAMLEN + 1 まで変わります。 エントリは、特別の空白によって区切られます。d_reclen エントリは、もしある なら、dirent 構造体の開始から次の構造体へのオフセットとして使用されます。 転送されるバイトの実際の数が、返されます。fd に関連する現在の位置ポインタ は、エントリの次のブロックを指すように設定されます。ポインタは、 getdirentries() または getdents() によって返されたバイトの数だけ進められ ません。ディレクトリの終わりに到達したとき、0 の値が返されます。 basep ポインタの値が NULL でないなら、getdirentries() システムコールは、 basep によって指された位置に読み込まれたブロックの位置を書き込みます。代 わりに、現在の位置ポインタは、lseek(2) によって設定され、取り出されます。 現在の位置ポインタは、lseek(2) よって返された値、basep (getdirentries() だけ) によって指された位置に返された値、または 0 にのみ設定されるべきで す。 戻り値 成功すると、実際に転送されたバイトの数が返されます。そうでなければ、-1 が、返され、グローバル変数 errno は、エラーを示す値に設定されます。 エラー getdirentries() システムコールは、次の場合に失敗します: [EBADF] fd 引数が、読み込みのためにオープンされている有効な ファイル記述子ではありません。 [EFAULT] buf または NULL でない basep のいずれかが、割り付けら れたアドレス空間の外側を指しています。 [EINVAL] fd によって参照されるファイルがディレクトリではない か、または、nbytes が、ディレクトリエントリまたはエン トリのブロックを返すために小さすぎるか、または、現在の 位置ポインタが、無効です。 [EIO] ファイルシステムから読み込むか、ファイルシステムに書き 込む間に、I/O エラーが起こりました。 関連項目 lseek(2), open(2) 歴史 getdirentries() システムコールは、4.4BSD ではじめて登場しました。 getdents() システムコールは、FreeBSD 3.0 ではじめて登場しました。 FreeBSD 11.4 May 3, 1995 FreeBSD 11.4