xref: /netbsd/bin/ln/ln.1 (revision bf9ec67e)
1.\"	$NetBSD: ln.1,v 1.15 2000/10/14 18:31:57 bjh21 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 October 14, 2000
40.Dt LN 1
41.Os
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 Ar target_file
50.Nm ""
51.Op Fl fhns
52.Ar source_file ... target_dir
53.Sh DESCRIPTION
54The
55.Nm
56utility creates a new directory entry (linked file) which has the
57same modes as the original file.
58It is useful for maintaining multiple copies of a file in many places
59at once without using up storage for the
60.Dq copies ;
61instead, a link
62.Dq points
63to the original copy.
64There are two types of links; hard links and symbolic links.
65How a link
66.Dq points
67to a file is one of the differences between a hard or symbolic link.
68.Pp
69The options are as follows:
70.Bl -tag -width flag
71.It Fl f
72Unlink any already existing file, permitting the link to occur.
73.It Fl h
74If the
75.Ar target_file
76or
77.Ar target_dir
78is a symbolic link, do not follow it.  This is most useful with the
79.Fl f
80option, to replace a symlink which may point to a directory.
81.It Fl n
82Same as
83.Fl h ,
84for compatibility with other
85.Nm
86implementations.
87.It Fl s
88Create a symbolic link.
89.El
90.Pp
91By default
92.Nm
93makes
94.Em hard
95links.
96A hard link to a file is indistinguishable from the original directory entry;
97any changes to a file are effective independent of the name used to reference
98the file.
99Hard links may not normally refer to directories and may not span file systems.
100.Pp
101A symbolic link contains the name of the file to
102which it is linked.  The referenced file is used when an
103.Xr open  2
104operation is performed on the link.
105A
106.Xr stat  2
107on a symbolic link will return the linked-to file; an
108.Xr lstat  2
109must be done to obtain information about the link.
110The
111.Xr readlink  2
112call may be used to read the contents of a symbolic link.
113Symbolic links may span file systems and may refer to directories.
114.Pp
115Given one or two arguments,
116.Nm
117creates a link to an existing file
118.Ar source_file  .
119If
120.Ar target_file
121is given, the link has that name;
122.Ar target_file
123may also be a directory in which to place the link;
124otherwise it is placed in the current directory.
125If only the directory is specified, the link will be made
126to the last component of
127.Ar source_file  .
128.Pp
129Given more than two arguments,
130.Nm
131makes links in
132.Ar target_dir
133to all the named source files.
134The links made will have the same name as the files being linked to.
135.Sh SEE ALSO
136.Xr link 2 ,
137.Xr lstat 2 ,
138.Xr readlink 2 ,
139.Xr stat 2 ,
140.Xr symlink 2 ,
141.Xr symlink 7
142.Sh STANDARDS
143The
144.Nm
145utility conforms to
146.St -p1003.2-92 .
147.Sh HISTORY
148A
149.Nm
150utility appeared in
151.At v6 .
152