file_cmds-45.tar.gz
[apple/file_cmds.git] / ln / ln.1
1 .\"     $NetBSD: ln.1,v 1.13 1997/10/20 08:52:19 enami Exp $
2 .\"
3 .\" Copyright (c) 1980, 1990, 1993
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" This code is derived from software contributed to Berkeley by
7 .\" the Institute of Electrical and Electronics Engineers, Inc.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\"    notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\"    notice, this list of conditions and the following disclaimer in the
16 .\"    documentation and/or other materials provided with the distribution.
17 .\" 3. All advertising materials mentioning features or use of this software
18 .\"    must display the following acknowledgement:
19 .\"     This product includes software developed by the University of
20 .\"     California, Berkeley and its contributors.
21 .\" 4. Neither the name of the University nor the names of its contributors
22 .\"    may be used to endorse or promote products derived from this software
23 .\"    without specific prior written permission.
24 .\"
25 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 .\" SUCH DAMAGE.
36 .\"
37 .\"     @(#)ln.1        8.2 (Berkeley) 12/30/93
38 .\"
39 .Dd December 30, 1993
40 .Dt LN 1
41 .Os BSD 4
42 .Sh NAME
43 .Nm ln
44 .Nd make links
45 .Sh SYNOPSIS
46 .Nm
47 .Op Fl fhns
48 .Ar source_file
49 .Op target_file
50 .Nm ""
51 .Op Fl fhns
52 .Ar source_file ...
53 .Op target_dir
54 .Sh DESCRIPTION
55 The
56 .Nm
57 utility creates a new directory entry (linked file) which has the
58 same modes as the original file.
59 It is useful for maintaining multiple copies of a file in many places
60 at once without using up storage for the
61 .Dq copies ;
62 instead, a link
63 .Dq points
64 to the original copy.
65 There are two types of links; hard links and symbolic links.
66 How a link
67 .Dq points
68 to a file is one of the differences between a hard or symbolic link.
69 .Pp
70 The options are as follows:
71 .Bl -tag -width flag
72 .It Fl f
73 Unlink any already existing file, permitting the link to occur.
74 .It Fl h
75 If the
76 .Ar target_file
77 or
78 .Ar target_dir
79 is a symbolic link, do not follow it.  This is most useful with the
80 .Fl f
81 option, to replace a symlink which may point to a directory.
82 .It Fl n
83 Same as
84 .Fl h ,
85 for compatibility with other
86 .Nm
87 implementations.
88 .It Fl s
89 Create a symbolic link.
90 .El
91 .Pp
92 By default
93 .Nm
94 makes
95 .Em hard
96 links.
97 A hard link to a file is indistinguishable from the original directory entry;
98 any changes to a file are effective independent of the name used to reference
99 the file.
100 Hard links may not normally refer to directories and may not span file systems.
101 .Pp
102 A symbolic link contains the name of the file to
103 which it is linked.  The referenced file is used when an
104 .Xr open  2
105 operation is performed on the link.
106 A
107 .Xr stat  2
108 on a symbolic link will return the linked-to file; an
109 .Xr lstat  2
110 must be done to obtain information about the link.
111 The
112 .Xr readlink  2
113 call may be used to read the contents of a symbolic link.
114 Symbolic links may span file systems and may refer to directories.
115 .Pp
116 Given one or two arguments,
117 .Nm
118 creates a link to an existing file
119 .Ar source_file  .
120 If
121 .Ar target_file
122 is given, the link has that name;
123 .Ar target_file
124 may also be a directory in which to place the link;
125 otherwise it is placed in the current directory.
126 If only the directory is specified, the link will be made
127 to the last component of
128 .Ar source_file  .
129 .Pp
130 Given more than two arguments,
131 .Nm
132 makes links in
133 .Ar target_dir
134 to all the named source files.
135 The links made will have the same name as the files being linked to.
136 .Sh SEE ALSO
137 .Xr link 2 ,
138 .Xr lstat 2 ,
139 .Xr readlink 2 ,
140 .Xr stat 2 ,
141 .Xr symlink 2 ,
142 .Xr symlink 7
143 .Sh HISTORY
144 A
145 .Nm
146 utility appeared in
147 .At v6 .