RTEMS Logo

RTEMS 4.10.1 On-Line Library


File and Directory Commands ln - make links

PREV UP NEXT Bookshelf RTEMS Shell User's Guide

3.2.9: ln - make links

SYNOPSYS:

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

DESCRIPTION:

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 or symbolic link.

The options are as follows:

-f
Unlink any already existing file, permitting the link to occur.
-h
If the target_file or target_dir is a symbolic link, do not follow it. This is most useful with the -f option, to replace a symlink which may point to a directory.
-i
Cause ln to write a prompt to standard error if the target file exists. If the response from the standard input begins with the character `y' or `Y', then unlink the target file so that the link may occur. Otherwise, do not attempt the link. (The -i option overrides any previous -f options.)
-n
Same as -h, for compatibility with other ln implementations.
-s
Create a symbolic link.
-v
Cause ln to be verbose, showing files as they are processed.

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 effective 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 operation is performed on the link. A stat on a symbolic link will return the linked-to file; an lstat must be done to obtain information about the link. The readlink call may be used to read the contents of a symbolic link. Symbolic links may span file systems and may refer to directories.

Given one or two arguments, ln creates a link to an existing file source_file. If target_file is given, the link has that name; 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 source_file.

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.

EXIT STATUS:

The ln utility exits 0 on success, and >0 if an error occurs.

NOTES:

NONE

EXAMPLES:

SHLL [/] ln -s /dev/console /dev/con1

CONFIGURATION:

This command is included in the default shell command set. When building a custom command set, define CONFIGURE_SHELL_COMMAND_LN to have this command included.

This command can be excluded from the shell command set by defining CONFIGURE_SHELL_NO_COMMAND_LN when all shell commands have been configured.

PROGRAMMING INFORMATION:

The ln command is implemented by a C language function which has the following prototype:

int rtems_shell_rtems_main_ln(
  int    argc,
  char **argv
);

The configuration structure for the ln has the following prototype:

extern rtems_shell_cmd_t rtems_shell_LN_Command;

ORIGIN:

The implementation and portions of the documentation for this command are from NetBSD 4.0.


PREV UP NEXT Bookshelf RTEMS Shell User's Guide

Copyright © 1988-2008 OAR Corporation