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