Unix/Linux Go Back    

OpenSolaris 2009.06 - man page for ln (opensolaris section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

ln(1)					  User Commands 				    ln(1)

       ln - make hard or symbolic links to files

       /usr/bin/ln [-fns] source_file [target]

       /usr/bin/ln [-fns] source_file... target

       /usr/xpg4/bin/ln [-fs] source_file [target]

       /usr/xpg4/bin/ln [-fs] source_file... target

       In  the	first  synopsis form, the ln utility creates a new directory entry (link) for the
       file specified by source_file, at the destination path specified by target. If  target  is
       not  specified,	the  link  is  made in the current directory. This first synopsis form is
       assumed when the final operand does not name an existing directory; if more than two oper-
       ands are specified and the final is not an existing directory, an error will result.

       In  the	second	synopsis form, the ln utility creates a new directory entry for each file
       specified by a source_file operand, at a destination path in the existing directory  named
       by target.

       The  ln utility may be used to create both hard links and symbolic links. A hard link is a
       pointer to a file and is indistinguishable from the original directory entry. Any  changes
       to a file are effective independent of the name used to reference the file. Hard links may
       not span file systems and may not refer to directories.

       ln by default creates hard links. source_file is linked to target. If target is	a  direc-
       tory,  another  file  named  source_file  is  created in target and linked to the original

       If target is an existing file and the -f option is not specified, ln will write a diagnos-
       tic  message to standard error, do nothing more with the current source_file, and go on to
       any remaining source_files.

       A symbolic link is an indirect pointer to a file; its directory entry  contains	the  name
       of  the	file to which it is linked. Symbolic links may span file systems and may refer to

       File permissions for target may be different from those displayed with an  -l  listing  of
       the  ls(1) command. To display the permissions of target, use ls -lL. See stat(2) for more

       If /usr/bin/ln determines that the mode of target forbids writing, it prints the mode (see
       chmod(1)), asks for a response, and reads the standard input for one line. If the response
       is affirmative, the link occurs, if permissible. Otherwise, the command exits.

       When creating a hard link, and the source file is itself a symbolic link, the target  will
       be  a  hard  link  to  the  file referenced by the symbolic link, not to the symbolic link
       object itself (source_file).

       The following options are supported for both /usr/bin/ln and /usr/xpg4/bin/ln:

       -f    Links files without questioning the user, even if the mode of target  forbids  writ-
	     ing. This is the default if the standard input is not a terminal.

       -s    Creates a symbolic link.

	     If  the -s option is used with two arguments, target may be an existing directory or
	     a non-existent file. If target already exists and is not a directory,  an	error  is
	     returned.	source_file may be any path name and need not exist. If it exists, it may
	     be a file or directory and may reside on a different file	system	from  target.  If
	     target is an existing directory, a file is created in directory target whose name is
	     source_file or the last component of source_file. This file is a symbolic link  that
	     references source_file. If target does not exist, a file with name target is created
	     and it is a symbolic link that references source_file.

	     If the -s option is used with more than two arguments, target must  be  an  existing
	     directory	or  an error will be returned. For each source_file, a link is created in
	     target whose name is the last component of source_file. Each new  source_file  is	a
	     symbolic  link  to the original source_file. The files and target may reside on dif-
	     ferent file systems.

       The following option is supported for /usr/bin/ln only:

       -n    If target is an existing file, writes a diagnostic message to stderr and goes on  to
	     any remaining source_files. The -f option overrides this option. This is the default
	     behavior for /usr/bin/ln and /usr/xpg4/bin/ln, and is silently ignored.

       The following operands are supported:

       source_file    A path name of a file to be linked. This can be either a regular or special
		      file. If the -s option is specified, source_file can also be a directory.

       target	      The  path  name of the new directory entry to be created, or of an existing
		      directory in which the new directory entries are to be created.

       See largefile(5) for the description of the behavior of ln when encountering files greater
       than or equal to 2 Gbyte ( 2^31 bytes).

       See  environ(5)	for  descriptions  of the following environment variables that affect the
       execution of ln: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

       The following exit values are returned:

       0     All the specified files were linked successfully

       >0    An error occurred.

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWcsu			   |
       |CSI			     |Enabled			   |

       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWxcu4			   |
       |CSI			     |Enabled			   |
       |Interface Stability	     |Standard			   |

       chmod(1), ls(1), stat(2), attributes(5), environ(5), largefile(5), standards(5)

       A symbolic link to a directory behaves differently than you might expect in certain cases.
       While  an  ls(1)  command  on  such a link displays the files in the pointed-to directory,
       entering ls -l displays information about the link itself:

	 example% ln -s dir link
	 example% ls link
	 file1 file2 file3 file4
	 example% ls -l link
	 lrwxrwxrwx  1 user	       7 Jan 11 23:27 link -> dir

       When you change to a directory (see cd(1)) through a symbolic link, using  /usr/bin/sh  or
       /usr/bin/csh,  you  wind  up in the pointed-to location within the file system. This means
       that the parent of the new working directory is not the parent of the symbolic  link,  but
       rather,	the  parent of the pointed-to directory. This will also happen when using cd with
       the -P option from /usr/bin/ksh or /usr/xpg4/bin/sh. For instance, in the following  case,
       the final working directory is /usr and not /home/user/linktest.

	 example% pwd
	 example% ln -s /usr/tmp symlink
	 example% cd symlink
	 example% cd ..
	 example% pwd

       C  shell  users	can  avoid  any resulting navigation problems by using the pushd and popd
       built-in commands instead of cd.

SunOS 5.11				   25 Mar 2004					    ln(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 02:58 PM.