*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> ln (1)              



NAME    [Toc]    [Back]

     ln - make hard and symbolic links to files

SYNOPSIS    [Toc]    [Back]

     ln [-fhns] source_file [target_file]
     ln [-fhns] source_file ...  [target_dir]

DESCRIPTION    [Toc]    [Back]

     The ln utility creates a new directory entry  (linked  file)
which has the
     same modes as the original file.  It is useful for maintaining multiple
     copies of a file in many places at  once  without  using  up
storage for the
     copies;  instead,  a  link  ``points'' to the original copy.
There are two
     types of links; hard links and symbolic links.  How  a  link
points to a
     file  is  one of the differences between a hard and symbolic

     The options are as follows:

     -f      Unlink any already  existing  file,  permitting  the
link to occur.

     -h       If  the  target is a symlink to a directory, do not
descend into

     -n      An alias for -h for compatibility with other operating systems.

     -s      Create a symbolic link.

     By  default, ln makes ``hard'' links.  A hard link to a file
is indistinguishable
 from the original directory entry; any changes  to
a file are
     effectively  independent  of  the name used to reference the
file.  Hard
     links may not normally refer to directories and may not span
file systems.

     A symbolic link contains the name of the file to which it is
linked.  The
     referenced file is used when an open(2)  operation  is  performed on the
     link.   A stat(2) on a symbolic link will return the linkedto file; an
     lstat(2) must be done to obtain information about the  link.
     readlink(2)  call may be used to read the contents of a symbolic link.
     Symbolic links may span file systems, refer to  directories,
and refer to
     non-existent files.

     Given one or two arguments, ln creates a link to an existing
     source_file.  If target_file is given,  the  link  has  that
     target_file  may  also  be a directory in which to place the
link.  Otherwise,
 it is placed in the current directory.   If  only  the
directory is
     specified,  the  link  will be made to the last component of

     Given more than two arguments, ln makes links in  target_dir
to all the
     named  source files.  The links made will have the same name
as the files
     being linked to.

EXAMPLES    [Toc]    [Back]

     # ln -s /var/www /home/www

     Creates a symbolic link named /home/www  and  points  it  to

     # ln /usr/local/bin/fooprog-1.0 /usr/local/bin/fooprog

     Hard      link      /usr/local/bin/fooprog      to      file

     As an exercise, try the following commands:

           $ ls -i /bin/[
           11553 /bin/[
           $ ls -i /bin/test
           11553 /bin/test

     Note that both files have the same inode; that is, /bin/[ is
     an  alias for the test(1) command.  This hard link exists so
test(1) may
     be invoked from shell scripts, for example, using the if [ ]

     $ mkdir bar baz; ln -s bar foo; ln -shf baz foo

     The second call to ln removes the original foo and creates a
     pointing to baz.  Without the -h option, this would  instead
leave foo
     pointing  to  bar  and  inside  foo create a new symlink baz
pointing to itself.
  This results from directory-walking.

SEE ALSO    [Toc]    [Back]

     link(2), lstat(2), readlink(2),  stat(2),  symlink(2),  symlink(7)

HISTORY    [Toc]    [Back]

     An ln utility appeared in Version 3 AT&T UNIX.

CAVEATS    [Toc]    [Back]

     Since  the source_file must have its link count incremented,
a hard link
     cannot be created to a file which is  flagged  immutable  or
     (see chflags(1)).

OpenBSD      3.6                        December     30,     1993
[ Back ]
 Similar pages
Name OS Title
mksymlinks IRIX make required Motif symbolic links.
ln Tru64 Make a hard link or a symbolic link to a file
ln Linux make links between files
tlink IRIX clone a file tree using symbolic links
create_fastlinks HP-UX configure the system to use fast symbolic links
fs_symlinks HP-UX maximum number of symbolic links used to resolve a path name
update-alternatives Linux maintain symbolic links determining default commands
link FreeBSD make a hard file link
link OpenBSD make a hard file link
link NetBSD make a hard file link
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service