aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man2/rename.2
blob: 0baf3764c7468aa60b319202ff6d19f40558e385 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
.\" Copyright (c) 1983, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)rename.2	8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/rename.2,v 1.21 2002/12/23 16:04:50 ru Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
.Dt RENAME 2
.Os
.Sh 名称
.Nm rename
.Nd ファイル名を変更する
.Sh ライブラリ
.Lb libc
.Sh 書式
.In stdio.h
.Ft int
.Fn rename "const char *from" "const char *to"
.Sh 解説
.Fn rename
システムコールによって
.Fa from
と名づけられたリンクを
.Fa to
に変更します。
.Fa to
がすでに存在する場合は、先にこれを削除します。
.Fa from
と
.Fa to
は同じタイプでなければならず (両方とも
ディレクトリであるか、両方ともディレクトリではないか)、
同じファイルシステム上に存在している必要があります。
.Pp
.Fa to
が既に存在する場合には、操作の途中でシステムがクラッシュしたとしても、
.Fn rename
システムコールは
.Fa to
のインスタンスが必ず存在することを保証します。
.Pp
.Fa from
の最後の構成要素がシンボリックリンクの場合、それが指している
ファイルまたはディレクトリではなく、
そのシンボリックリンクの名前が変更されます。
.\".Sh CAVEAT
.\"The system can deadlock if a loop in the file system graph is present.
.\"This loop takes the form of an entry in directory
.\".Pa a ,
.\"say
.\".Pa a/foo ,
.\"being a hard link to directory
.\".Pa b ,
.\"and an entry in
.\"directory
.\".Pa b ,
.\"say
.\".Pa b/bar ,
.\"being a hard link
.\"to directory
.\".Pa a .
.\"When such a loop exists and two separate processes attempt to
.\"perform
.\".Ql rename a/foo b/bar
.\"and
.\".Ql rename b/bar a/foo ,
.\"respectively,
.\"the system may deadlock attempting to lock
.\"both directories for modification.
.\"Hard links to directories should be
.\"replaced by symbolic links by the system administrator.
.Sh 戻り値
.Rv -std rename
.Sh エラー
.Fn rename
システムコールは次の場合に失敗し、いずれの引数ファイルも影響を受けません:
.Bl -tag -width Er
.It Bq Er ENAMETOOLONG
いずれかのパス名の構成要素が 255 文字を越えているか、またはいずれかの
パス名全体の長さが 1023 文字を越えています。
.It Bq Er ENOENT
.Fa from
パスの構成要素が存在しないか、または
.Fa to
の前置パス名が存在しません。
.It Bq Er EACCES
指定されたパスには、検索が許可されていないディレクトリが含まれています。
.It Bq Er EACCES
指定されたリンクは、書込みが許可されていない
ディレクトリへの書込みを要求しています。
.It Bq Er EPERM
.Fa from
ファイルを含むディレクトリにスティッキビットが設定されており、
そのディレクトリと
.Fa from
のどちらの所有者も実効ユーザ ID とは異なっています。
.It Bq Er EPERM
.Fa to
引数によって指されるファイルが存在し、かつ
.Fa to
を含んでいるディレクトリにスティッキビットが設定されており、
そのディレクトリと
.Fa to
ファイルのどちらの所有者も実効ユーザ ID とは異なっています。
.It Bq Er ELOOP
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
.It Bq Er ENOTDIR
パスの構成要素中にディレクトリ以外のものが含まれています。
.It Bq Er ENOTDIR
.Fa from
引数はディレクトリですが、
.Fa to
はディレクトリではありません。
.It Bq Er EISDIR
.Fa to
引数はディレクトリですが、
.Fa from
はディレクトリではありません。
.It Bq Er EXDEV
.Fa to
によって指定されたリンク、および
.Fa from
によって指定されたファイルが
異なる論理デバイス (ファイルシステム) 上にあります。
実装がクロスデバイスリンクを許容する場合、このエラーコードは
返らないことに注意してください。
.It Bq Er ENOSPC
ディレクトリを格納しているファイルシステム上の空間が枯渇したため、
新しい名前のためのエントリを置くディレクトリを拡張できません。
.It Bq Er EDQUOT
ディレクトリを格納しているファイルシステム上のディスクブロックのユーザの
クォータが枯渇したため、
新しい名前のためのエントリを置くディレクトリを拡張できません。
.It Bq Er EIO
ディレクトリエントリを作成または更新している間に入出力エラーが発生しました。
.It Bq Er EROFS
指定されたリンクは、読取り専用ファイルシステム上のディレクトリへの
書込みを要求しています。
.It Bq Er EFAULT
path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。
.It Bq Er EINVAL
.Fa from
引数が
.Fa to
の親ディレクトリであるか、
.Ql .\&
または
.Ql \&..
に名前を変更しようとしました。
.It Bq Er ENOTEMPTY
.Fa to
引数はディレクトリであり、空ではありません。
.El
.Sh 関連項目
.Xr open 2 ,
.Xr symlink 7
.Sh 規格
.Fn rename
システムコールは
.St -p1003.1-96
に適合しています。