1.\" $NetBSD: ln.1,v 1.14 1999/03/22 18:30:44 garbled 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 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 55The 56.Nm 57utility creates a new directory entry (linked file) which has the 58same modes as the original file. 59It is useful for maintaining multiple copies of a file in many places 60at once without using up storage for the 61.Dq copies ; 62instead, a link 63.Dq points 64to the original copy. 65There are two types of links; hard links and symbolic links. 66How a link 67.Dq points 68to a file is one of the differences between a hard or symbolic link. 69.Pp 70The options are as follows: 71.Bl -tag -width flag 72.It Fl f 73Unlink any already existing file, permitting the link to occur. 74.It Fl h 75If the 76.Ar target_file 77or 78.Ar target_dir 79is a symbolic link, do not follow it. This is most useful with the 80.Fl f 81option, to replace a symlink which may point to a directory. 82.It Fl n 83Same as 84.Fl h , 85for compatibility with other 86.Nm 87implementations. 88.It Fl s 89Create a symbolic link. 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. The referenced file is used when an 104.Xr open 2 105operation is performed on the link. 106A 107.Xr stat 2 108on a symbolic link will return the linked-to file; an 109.Xr lstat 2 110must be done to obtain information about the link. 111The 112.Xr readlink 2 113call may be used to read the contents of a symbolic link. 114Symbolic links may span file systems and may refer to directories. 115.Pp 116Given one or two arguments, 117.Nm 118creates a link to an existing file 119.Ar source_file . 120If 121.Ar target_file 122is given, the link has that name; 123.Ar target_file 124may also be a directory in which to place the link; 125otherwise it is placed in the current directory. 126If only the directory is specified, the link will be made 127to the last component of 128.Ar source_file . 129.Pp 130Given more than two arguments, 131.Nm 132makes links in 133.Ar target_dir 134to all the named source files. 135The 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 144A 145.Nm 146utility appeared in 147.At v6 . 148