1 .\" $NetBSD: link.2,v 1.32 2013/07/28 18:40:40 njoly Exp $
3 .\" Copyright (c) 1980, 1991, 1993, 2011
4 .\" The Regents of the University of California. All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" @(#)link.2 8.3 (Berkeley) 1/12/94
37 .Nd make a hard file link
43 .Fn link "const char *name1" "const char *name2"
46 .Fn linkat "int fd1" "const char *name1" "int fd2" "const char *name2" "int flags"
51 atomically creates the specified directory entry (hard link)
53 with the attributes of the underlying object pointed at by
55 If the link is successful: the link count of the underlying object
60 share equal access and rights
68 is not deleted and the link count of the
73 must exist for the hard link to
79 must be in the same file system.
81 may not be a directory unless the caller is the super-user
82 and the file system containing it supports linking to directories.
92 In that case, it is looked up from a directory whose file
93 descriptor was passed as
97 Search permission is required on the directories named by
101 .\" (These alternatives await a decision about the semantics of O_SEARCH)
102 .\" Search permission is required on the directories named by
106 .\" unless they were opened with the
110 .\" The directories named by
114 .\" must have been opened with the
122 in order to specify the current directory.
124 When operating on a symlink,
126 resolves the symlink and creates a hard link on the target.
129 .Dv AT_SYMLINK_FOLLOW
132 but it will link on the symlink itself if the flag is clear.
139 will fail and no link will be created if:
142 A component of either path prefix denies search permission, or
143 the requested link requires writing in a directory with a mode
144 that denies write permission.
146 The directory in which the entry for the new link
147 is being placed cannot be extended because the
148 user's quota of disk blocks on the file system
149 containing the directory has been exhausted.
155 One of the pathnames specified
156 is outside the process's allocated address space.
158 An I/O error occurred while reading from or writing to
159 the file system to make the directory entry.
161 Too many symbolic links were encountered in translating one of the pathnames.
163 The link count of the file named by
167 .It Bq Er ENAMETOOLONG
168 A component of a pathname exceeded
170 characters, or an entire path name exceeded
174 A component of either path prefix does not exist, or the file named
179 The directory in which the entry for the new link is being placed
180 cannot be extended because there is no space left on the file
181 system containing the directory.
183 A component of either path prefix is not a directory.
185 The file system containing the file named by
187 does not support links.
191 is a directory and the effective
192 user ID is not super-user,
193 or the file system containing the file does not permit the use of
197 The requested link requires writing in a directory on a read-only file
202 and the file named by
204 are on different file systems.
215 does not specify an absolute path and
219 respectively, is neither
221 nor a valid file descriptor open for reading or searching.
226 is not an absolute path and
230 respectively, is a file descriptor associated with a non-directory file.