INSTALL(1) BSD General Commands Manual INSTALL(1)NAMEinstall — install binaries
SYNOPSISinstall [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 file2
install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 ... fileN directory
install-d [-v] [-g group] [-m mode] [-o owner] directory ...
The file(s) are copied to the target file or directory. If the destina‐
tion is a directory, then the file is copied into directory with its
original filename. If the target file already exists, it is either
renamed to file.old if the -b option is given or overwritten if permis‐
sions allow. An alternate backup suffix may be specified via the -B
The options are as follows:
-b Back up any existing files before overwriting them by renaming
them to file.old. See -B for specifying a different backup suf‐
Use suffix as the backup suffix if -b is given.
-C Copy the file. If the target file already exists and the files
are the same, then do not change the modification time of the
target. If the target's file flags and mode need not to be
changed, the target's inode change time is also unchanged.
-c Copy the file. This is actually the default. The -c option is
only included for backwards compatibility.
-d Create directories. Missing parent directories are created as
-f Specify the target's file flags; see chflags(1) for a list of
possible flags and their meanings.
-g Specify a group. A numeric GID is allowed.
-M Disable all use of mmap(2).
-m 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 Specify an owner. A numeric UID is allowed.
-p Preserve the access and modification times. Copy the file, as if
the -C (compare and copy) option is specified, except if the tar‐
get file does not already exist or is different, then preserve
the access and modification times of the source file.
-S Safe copy. Normally, install unlinks an existing target before
installing the new file. With the -S flag a temporary file is
used and then renamed to be the target. The reason this is safer
is that if the copy or rename fails, the existing target is left
-sinstall exec's the command strip(1) to strip binaries so that
install can be portable over a large number of systems and binary
types. See below for how install can be instructed to use
another program to strip binaries.
-v Cause install to be verbose, showing files as they are installed
or backed up.
By default, install preserves all file flags, with the exception of the
The install utility attempts to prevent moving a file onto itself.
Installing /dev/null creates an empty file.
The install utility checks for the presence of the STRIPBIN environment
variable and if present, uses the assigned value as the program to run if
and when the -s option has been specified.
If the DONTSTRIP environment variable is present, install will ignore any
specification of the -s option. This is mainly for use in debugging the
FreeBSD Ports Collection.
INS@XXXX If either -S option is specified, or the -C or -p option is
used in conjunction with the -s option, temporary files named
INS@XXXX, where XXXX is decided by mkstemp(3), are created in
the target directory.
The install utility exits 0 on success, and >0 if an error occurs.
Historically install moved files by default. The default was changed to
copy in FreeBSD 4.4.
SEE ALSOchflags(1), chgrp(1), chmod(1), cp(1), mv(1), strip(1), mmap(2), chown(8)HISTORY
The install utility appeared in 4.2BSD.
Temporary files may be left in the target directory if install exits
File flags cannot be set by fchflags(2) over a NFS file system. Other
file systems do not have a concept of flags. The install utility will
only warn when flags could not be set on a file system that does not sup‐
The install utility with -v falsely says a file is copied when -C snaps
BSD March 6, 2006 BSD