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