OS Manuals

/usr/bin/ln

GNU core utilities

From coreutils 9.12-r7 (os), captured 2026-11-05 by running ln --help (exit 0). permalink

Also provided by 1 other package version
Usage: /usr/bin/ln [OPTION]... [-T] TARGET LINK_NAME
  or:  /usr/bin/ln [OPTION]... TARGET
  or:  /usr/bin/ln [OPTION]... TARGET... DIRECTORY
  or:  /usr/bin/ln [OPTION]... -t DIRECTORY TARGET...
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
Create hard links by default, symbolic links with --symbolic.
By default, each destination (name of new link) should not already exist.
When creating hard links, each TARGET must exist.  Symbolic links
can hold arbitrary text; if later resolved, a relative link is
interpreted in relation to its parent directory.

Mandatory arguments to long options are mandatory for short options too.
      --backup[=CONTROL]
         make a backup of each existing destination file
  -b
         like --backup but does not accept an argument
  -d, -F, --directory
         allow the superuser to attempt to hard link directories,
         if supported by the system
  -f, --force
         remove existing destination files
  -i, --interactive
         prompt whether to remove destinations
  -L, --logical
         dereference TARGETs that are symbolic links
  -n, --no-dereference
         treat LINK_NAME as a normal file
         if it is a symbolic link to a directory
  -P, --physical
         make hard links directly to symbolic links
  -r, --relative
         with -s, create links relative to link location
  -s, --symbolic
         make symbolic links instead of hard links
  -S, --suffix=SUFFIX
         override the usual backup suffix
  -t, --target-directory=DIRECTORY
         specify the DIRECTORY in which to create the links
  -T, --no-target-directory
         treat LINK_NAME as a normal file always
  -v, --verbose
         print name of each linked file
      --help
         display this help and exit
      --version
         output version information and exit

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:

  none, off       never make backups (even if --backup is given)
  numbered, t     make numbered backups
  existing, nil   numbered if numbered backups exist, simple otherwise
  simple, never   always make simple backups

Using -s ignores -L and -P.  Otherwise, the last option specified controls
behavior when a TARGET is a symbolic link, defaulting to -P.

Report bugs to: <bug-coreutils@gnu.org>.
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Full documentation <https://www.gnu.org/software/coreutils/ln>
or available locally via: info '(coreutils) ln invocation'
Options (16)
OptionDescriptionSource
--backup CONTROLmake a backup of each existing destination filehelp
-blike --backup but does not accept an argumenthelp + man
-d, -F, --directoryallow the superuser to attempt to hard link directories, if supported by the systemhelp + man
-f, --forceremove existing destination fileshelp + man
-i, --interactiveprompt whether to remove destinationshelp + man
-L, --logicaldereference TARGETs that are symbolic linkshelp + man
-n, --no-dereferencetreat LINK_NAME as a normal file if it is a symbolic link to a directoryhelp + man
-P, --physicalmake hard links directly to symbolic linkshelp + man
-r, --relativewith -s, create links relative to link locationhelp + man
-s, --symbolicmake symbolic links instead of hard linkshelp + man
-S, --suffix SUFFIXoverride the usual backup suffixhelp + man
-t, --target-directory DIRECTORYspecify the DIRECTORY in which to create the linkshelp + man
-T, --no-target-directorytreat LINK_NAME as a normal file alwayshelp + man
-v, --verboseprint name of each linked filehelp + man
--helpdisplay this help and exithelp + man
--versionoutput version information and exithelp + man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.