xref: /netbsd-src/bin/ln/ln.1 (revision f3b496ec9be495acbb17756f05d342b6b7b495e9)
1.\"	$NetBSD: ln.1,v 1.20 2003/08/07 09:05:14 agc 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. Neither the name of the University nor the names of its contributors
18.\"    may be used to endorse or promote products derived from this software
19.\"    without specific prior written permission.
20.\"
21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31.\" SUCH DAMAGE.
32.\"
33.\"	@(#)ln.1	8.2 (Berkeley) 12/30/93
34.\"
35.Dd December 26, 2002
36.Dt LN 1
37.Os
38.Sh NAME
39.Nm ln
40.Nd make links
41.Sh SYNOPSIS
42.Nm
43.Op Fl fhnsv
44.Ar source_file
45.Op Ar target_file
46.Nm
47.Op Fl fhnsv
48.Ar source_file ... target_dir
49.Sh DESCRIPTION
50The
51.Nm
52utility creates a new directory entry (linked file) which has the
53same modes as the original file.
54It is useful for maintaining multiple copies of a file in many places
55at once without using up storage for the
56.Dq copies ;
57instead, a link
58.Dq points
59to the original copy.
60There are two types of links; hard links and symbolic links.
61How a link
62.Dq points
63to a file is one of the differences between a hard or symbolic link.
64.Pp
65The options are as follows:
66.Bl -tag -width flag
67.It Fl f
68Unlink any already existing file, permitting the link to occur.
69.It Fl h
70If the
71.Ar target_file
72or
73.Ar target_dir
74is a symbolic link, do not follow it.
75This is most useful with the
76.Fl f
77option, to replace a symlink which may point to a directory.
78.It Fl n
79Same as
80.Fl h ,
81for compatibility with other
82.Nm
83implementations.
84.It Fl s
85Create a symbolic link.
86.It Fl v
87Cause
88.Nm
89to be verbose, showing files as they are processed.
90.El
91.Pp
92By default
93.Nm
94makes
95.Em hard
96links.
97A hard link to a file is indistinguishable from the original directory entry;
98any changes to a file are effective independent of the name used to reference
99the file.
100Hard links may not normally refer to directories and may not span file systems.
101.Pp
102A symbolic link contains the name of the file to
103which it is linked.
104The referenced file is used when an
105.Xr open  2
106operation is performed on the link.
107A
108.Xr stat  2
109on a symbolic link will return the linked-to file; an
110.Xr lstat  2
111must be done to obtain information about the link.
112The
113.Xr readlink  2
114call may be used to read the contents of a symbolic link.
115Symbolic links may span file systems and may refer to directories.
116.Pp
117Given one or two arguments,
118.Nm
119creates a link to an existing file
120.Ar source_file  .
121If
122.Ar target_file
123is given, the link has that name;
124.Ar target_file
125may also be a directory in which to place the link;
126otherwise it is placed in the current directory.
127If only the directory is specified, the link will be made
128to the last component of
129.Ar source_file  .
130.Pp
131Given more than two arguments,
132.Nm
133makes links in
134.Ar target_dir
135to all the named source files.
136The links made will have the same name as the files being linked to.
137.Sh SEE ALSO
138.Xr link 2 ,
139.Xr lstat 2 ,
140.Xr readlink 2 ,
141.Xr stat 2 ,
142.Xr symlink 2 ,
143.Xr symlink 7
144.Sh STANDARDS
145The
146.Nm
147utility conforms to
148.St -p1003.2-92 .
149.Pp
150The
151.Fl v
152option is an extension to
153.St -p1003.2-92 .
154.Sh HISTORY
155A
156.Nm
157utility appeared in
158.At v6 .
159