RENAME.2
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:3k
源码类别:

操作系统开发

开发平台:

C/C++

  1. ." Copyright (c) 1983 Regents of the University of California.
  2. ." All rights reserved.  The Berkeley software License Agreement
  3. ." specifies the terms and conditions for redistribution.
  4. ."
  5. ." @(#)rename.2 6.4 (Berkeley) 5/22/86
  6. ."
  7. .TH RENAME 2 "May 22, 1986"
  8. .UC 5
  9. .SH NAME
  10. rename - change the name of a file
  11. .SH SYNOPSIS
  12. .ft B
  13. .nf
  14. #include <stdio.h>
  15. int rename(const char *fIfromfP, const char *fItofP)
  16. .fi
  17. .ft R
  18. .SH DESCRIPTION
  19. .B Rename
  20. causes the link named
  21. .I from
  22. to be renamed as
  23. .IR to .
  24. If 
  25. .I to
  26. exists, then it is first removed.
  27. Both 
  28. .I from
  29. and
  30. .I to
  31. must be of the same type (that is, both directories or both
  32. non-directories), and must reside on the same file system.
  33. .PP
  34. .B Rename
  35. guarantees that an instance of
  36. .I to
  37. will always exist, even if the system should crash in
  38. the middle of the operation.
  39. .PP
  40. If the final component of
  41. .I from
  42. is a symbolic link,
  43. the symbolic link is renamed,
  44. not the file or directory to which it points.
  45. .SH "RETURN VALUE"
  46. A 0 value is returned if the operation succeeds, otherwise
  47. .B rename
  48. returns -1 and the global variable 
  49. .B errno
  50. indicates the reason for the failure.
  51. .SH "ERRORS
  52. .B Rename
  53. will fail and neither of the argument files will be
  54. affected if any of the following are true:
  55. .TP 15
  56. [ENAMETOOLONG]
  57. A path name exceeds PATH_MAX characters.
  58. .TP 15
  59. [ENOENT]
  60. A component of the fIfromfP path does not exist,
  61. or a path prefix of fItofP does not exist.
  62. .TP 15
  63. [EACCES]
  64. A component of either path prefix denies search permission.
  65. .TP 15
  66. [EACCES]
  67. The requested link requires writing in a directory with a mode
  68. that denies write permission.
  69. .TP 15
  70. [EPERM]
  71. The directory containing fIfromfP is marked sticky,
  72. and neither the containing directory nor fIfromfP
  73. are owned by the effective user ID.
  74. .TP 15
  75. [EPERM]
  76. The fItofP file exists,
  77. the directory containing fItofP is marked sticky,
  78. and neither the containing directory nor fItofP
  79. are owned by the effective user ID.
  80. .TP 15
  81. [ELOOP]
  82. Too many symbolic links were encountered in translating either pathname.
  83. (Minix-vmd)
  84. .TP 15
  85. [ENOTDIR]
  86. A component of either path prefix is not a directory.
  87. .TP 15
  88. [ENOTDIR]
  89. .I From
  90. is a directory, but fItofP is not a directory.
  91. .TP 15
  92. [EISDIR]
  93. .I To
  94. is a directory, but fIfromfP is not a directory.
  95. .TP 15
  96. [EXDEV]
  97. The link named by fItofP and the file named by fIfromfP
  98. are on different logical devices (file systems).
  99. .TP 15
  100. [ENOSPC]
  101. The directory in which the entry for the new name is being placed
  102. cannot be extended because there is no space left on the file
  103. system containing the directory.
  104. .ig
  105. .TP 15
  106. [EDQUOT]
  107. The directory in which the entry for the new name
  108. is being placed cannot be extended because the
  109. user's quota of disk blocks on the file system
  110. containing the directory has been exhausted.
  111. ..
  112. .TP 15
  113. [EIO]
  114. An I/O error occurred while making or updating a directory entry.
  115. .TP 15
  116. [EROFS]
  117. The requested link requires writing in a directory on a read-only file
  118. system.
  119. .TP 15
  120. [EFAULT]
  121. .I Path
  122. points outside the process's allocated address space.
  123. .TP 15
  124. [EINVAL]
  125. .I From
  126. is a parent directory of
  127. .IR to ,
  128. or an attempt is made to rename ``.'' or ``..''.
  129. .TP 15
  130. [ENOTEMPTY]
  131. .I To
  132. is a directory and is not empty.
  133. .SH "SEE ALSO"
  134. .BR open (2)