INSTALL(1) | General Commands Manual | INSTALL(1)

# NAME

`install` — install binaries

# SYNOPSIS

`install` | [`-bCcDdFpSs`] [`-B` suffix] [`-f` flags] [`-g` group] [`-m` mode] [`-o` owner] source ... target ...

# DESCRIPTION

The source file(s) are copied to the target file or directory. If the target file already exists, it is either renamed to file.old if the `-b` option is given or overwritten if permissions allow. An alternate backup suffix may be specified via the `-B` option's argument. If the `-d` option is given, target directories are created, and no files are copied.

The options are as follows:

`-B` suffix
  Use suffix as the backup suffix if `-b` is given.
`-b`
  Backup any existing files before overwriting them by renaming them to file.old. See `-B` for specifying a different backup suffix.
`-C`
  Copy the file. If the target file already exists and the files are the same, then don't change the modification time of the target.
`-c`
  Copy the file. This is actually the default. The `-c` option is only included for backwards compatibility.
`-D`
  Create all leading components of the target before installing into it.
`-d`
  Create directories. Missing parent directories are created as required. This option cannot be used with the `-B`, `-b`, `-C`, `-c`, `-f`, `-p`, or `-s` options.
`-F`
  Flush the file's contents to disk. When copying a file, use the fsync(2) function to synchronize the installed file's contents with the on-disk version.
`-f` flags
  Specify the target's file flags. (See chflags(1) for a list of possible flags and their meanings.)
`-g` group
  Specify a group. A numeric GID is allowed.
`-m` mode
  Specify an alternate mode. The default mode is set to rwxr-xr-x (0755). The specified mode may be either an octal or symbolic value; see chmod(1) for a description of possible mode values.
`-o` owner
  Specify an owner. A numeric UID is allowed.
`-p`
  Preserve the modification time. Copy the file, as if the `-C` (compare and copy) option is specified, except if the target file doesn't already exist or is different, then preserve the modification time of the file.
`-S`
  Safe copy. This option has no effect and is supported only for compatibility. When installing a file, a temporary file is created and written first in the destination directory, then atomically renamed. This avoids both race conditions and the destruction of existing files in case of write failures.
`-s`
  `install` exec's the command /usr/bin/strip to strip binaries so that install can be portable over a large number of systems and binary types. If the environment variable `STRIP` is set, it is used instead.

By default, `install` preserves all file flags, with the exception of the “nodump” flag.

The `install` utility attempts to prevent moving a file onto itself.

Installing /dev/null creates an empty file.

# ENVIRONMENT

`STRIP`
  For an alternate strip(1) program to run. Default is /usr/bin/strip.

# FILES

INS@XXXXXXXXXX
  Temporary files created in the target directory by mkstemp(3).

# EXIT STATUS

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

# SEE ALSO

chflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), chown(8)

# HISTORY

The `install` utility appeared in 4.2BSD.

# CAVEATS

The `-C`, `-D`, `-F`, `-p`, and `-S` flags are non-standard and should not be relied upon for portability.

Temporary files may be left in the target directory if `install` exits abnormally.

February 8, 2019 | Debian