日本語 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
RENAME(2) FreeBSD システムコールマニュアル RENAME(2) 名称 rename -- ファイルの名前を変更する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <stdio.h> int rename(const char *from, const char *to); int renameat(int fromfd, const char *from, int tofd, const char *to); 解説 rename() システムコールによって、from と名前が付けられたリンクを to とし て名前を変更します。to が存在するなら、それは、最初に削除されます。from と to の両方は、同じタイプでなければならず (すなわち、両方ともディレクト リまたは両方ともディレクトリでない)、同じファイルシステムに存在していなけ ればなりません。 rename() システムコールは、to 既にが存在するなら、たとえシステムが、操作 の途中でクラッシュしても、to のインスタンスは、常に存在することを保証しま す。 from の最後の構成要素がシンボリックリンクであるなら、それが指すファイルま たはディレクトリでなく、シンボリックリンクの名前が変更されます。 renameat() システムコールは、from または to のいずれかが相対的なパスを指 定する場合を除いて、rename() と同等です。from が相対的なパスであるなら、 名前が変更されるファイルは、カレントワーキングディレクトリの代わりにファ イル記述子 fromfd に関連するディレクトリに相対的に位置付けられます。to が 相対的なパスであるなら、tofd に関連するディレクトリに相対的にのみ同じこと が起こります。renameat() が fromfd または tofd パラメータの特別な値 AT_FDCWD を渡されるなら、カレントワーキングディレクトリは、個別のパスのパ ラメータのためのファイルの決定で使用されます。 戻り値 関数 rename() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno にエラーを示す値が設定されます。 エラー rename() システムコールは、次の場合に失敗し、いずれの引数ファイルも影響さ れません: [ENAMETOOLONG] パス名の構成要素が 255 文字を越えているか、または、全 体のパス名が 1023 文字を越えています。 [ENOENT] from パスの構成要素が、存在しないか、または、to のパス 接頭辞が、存在しません。 [EACCES] いずれかのパス接頭辞の構成要素が、検索パーミッションを 拒否します。 [EACCES] 要求されたリンクが、書き込みパーミッションを拒否する モードでディレクトリに書き込みを要求しています。 [EACCES] from 引数によって指されたディレクトリが、書き込みパー ミッションを拒否し、操作は、それを別の親ディレクトリに 移動します。 [EPERM] from 引数によって指されたファイルには、不変、削除不可 能、または追加のみのフラグの設定があります、詳細につい ては、chflags(2) マニュアルページを参照してください。 [EPERM] from 引数によって指されるファイルの親ディレクトリに は、不変または追加専用のフラグの設定があります。 [EPERM] to 引数によって指されるファイルの親ディレクトリは、不 変のフラグの設定があります。 [EPERM] from を含んでいるディレクトリが、スティッキ (sticky) とマークされて、含まれているディレクトリと from のいず いれも、実効ユーザ ID によって所有されていません。 [EPERM] to 引数によって指されたファイルが、存在します、to を含 んでいるディレクトリは、スティッキ (sticky) とマークさ れて、含まれているディレクトリと to のいずいれも、実効 ユーザ ID によって所有されていません。 [ELOOP] パス名を変換するときにあまりに多くのシンボリックリンク に遭遇しました。 [ENOTDIR] パス接頭辞の構成要素がディレクトリではありません。 [ENOTDIR] from 引数が、ディレクトリですが、to が、ディレクトリで はありません。 [EISDIR] to 引数が、ディレクトリですが、from が、ディレクトリで はありません。 [EXDEV] to によって指定されたリンクと from によって指定された ファイルが、異なる論理デバイス (ファイルシステム) にあ ります。実装がクロスデバイスリンクを許可するなら、この エラーコードが返されないことに注意してください。 [ENOSPC] ディレクトリを含んでいるファイルシステムに空間が残って いないので、新しい名前のためのエントリが置かれている ディレクトリが、拡張できません。 [EDQUOT] ディレクトリを含んでいるファイルシステムのディスクブ ロックのユーザのクォータ (quota) が使い果たされたの で、新しい名前のためのエントリが置かれているディレクト リが、拡張できません。 [EIO] ディレクトリエントリを作成するか、または更新する間に、 I/O エラーが起こりました。 [EROFS] 要求されたリンクが、読み込み専用ファイルシステムのディ レクトリへの書き込みを要求しています。 [EFAULT] パスが、プロセスの割り付けられたアドレス空間の外側を指 しています。 [EINVAL] from 引数が、to の親ディレクトリであるか、または、`.' または `..' の名前を変更することを行おうと試みていま す。 [ENOTEMPTY] to 引数が、ディレクトリであり、空ではありません。 [ECAPMODE] rename() が、呼び出され、プロセスが、ケーパビリティ モードです。 rename() によって返されるエラーに加えて、renameat() は、次の場合に失敗し ます: [EBADF] from 引数が、絶対パスを指定せず、fromfd 引数が、 AT_FDCWD でも、検索のためにオープンされた有効なファイ ル記述子ではありません、または to 引数が、絶対パスを指 定せず、tofd 引数が、AT_FDCWD でも、検索のためにオープ ンされた有効なファイル記述子ではありません。 [ENOTDIR] from 引数が、絶対パスではなく、fromfd が AT_FDCWD で も、ディレクトリに関連したファイル記述子ではありませ ん、または to 引数が、絶対パスではなく、tofd が、 AT_FDCWD でも、ディレクトリに関連したファイル記述子で はありません、または [ECAPMODE] AT_FDCWD が、指定され、プロセスが、ケーパビリティモー ドです。 [ENOTCAPABLE] path が、絶対のパスであるか、または fromfd または tofd によって指定されたディレクトリの階層構造の外側のディレ クトリをもたらす ".." 構成要素を含んでいます。 [ENOTCAPABLE] fromfd ファイル記述子が、CAP_RENAMEAT_SOURCE 所有権を 欠いているか、または、tofd ファイル記述子が、 CAP_RENAMEAT_TARGET 所有権を欠いています。 関連項目 chflags(2), open(2), symlink(7) 規格 rename() システムコールは、ISO/IEC 9945-1:1996 (``POSIX.1'') に適合してい ます。renameat() システムコールは、The Open Group Extended API Set 2 仕様 に従っています。 歴史 renameat() システムコールは、FreeBSD 8.0 で登場しました。 FreeBSD 11.2 September 15, 2017 FreeBSD 11.2