OS Manuals

/usr/bin/ln

Cross-platform Rust rewrite of the GNU coreutils.

From uutils 0.12.0-r6 (os), captured 2026-11-07 by running ln --help (exit 0). permalink

Make links between files.

Usage: ln [OPTION]... [-T] TARGET LINK_NAME
       ln [OPTION]... TARGET
       ln [OPTION]... TARGET... DIRECTORY
       ln [OPTION]... -t DIRECTORY TARGET...

Arguments:
  <files>...

Options:
      --backup[=<CONTROL>]            make a backup of each existing destination file
  -b                                  like --backup but does not accept an argument
  -f, --force                         remove existing destination files
  -i, --interactive                   prompt whether to remove existing destination files
  -n, --no-dereference                treat LINK_NAME as a normal file if it is a
                                      symbolic link to a directory
  -L, --logical                       follow TARGETs that are symbolic links
  -P, --physical                      make hard links directly to symbolic links
  -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
  -r, --relative                      create symbolic links relative to link location
  -v, --verbose                       print name of each linked file
  -h, --help                          Print help
  -V, --version                       Print version

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.

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
Options (15)
OptionDescriptionSource
--backup CONTROLmake a backup of each existing destination filehelp
-blike --backup but does not accept an argumenthelp + man
-f, --forceremove existing destination fileshelp + man
-i, --interactiveprompt whether to remove existing destination fileshelp + man
-n, --no-dereferencetreat LINK_NAME as a normal file if it is a symbolic link to a directoryhelp + man
-L, --logicalfollow TARGETs that are symbolic linkshelp + man
-P, --physicalmake hard links directly to symbolic linkshelp + 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
-r, --relativecreate symbolic links relative to link locationhelp + man
-v, --verboseprint name of each linked filehelp + man
-h, --helpPrint helphelp + man
-V, --versionPrint versionhelp + 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.