install — copy files and set attributes

Examples (TL;DR)


install [OPTION]... [-T] SOURCE DEST
install [OPTION]... -t DIRECTORY SOURCE...
install [OPTION]... -d DIRECTORY...


This install program copies files (often just compiled) into destination locations you choose.  If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1).

In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to the existing DIRECTORY, while setting permission modes and owner/group. In the 4th form, create all components of the given DIRECTORY(ies).

Mandatory arguments to long options are mandatory for short options too.


make a backup of each existing destination file


like --backup but does not accept an argument



-C, --compare

compare each pair of source and destination files, and in some cases, do not modify the destination at all

-d, --directory

treat all arguments as directory names; create all components of the specified directories


create all leading components of DEST except the last, or all components of --target-directory, then copy SOURCE to DEST

-g, --group=GROUP

set group ownership, instead of process' current group

-m, --mode=MODE

set permission mode (as in chmod), instead of rwxr-xr-x

-o, --owner=OWNER

set ownership (super-user only)

-p, --preserve-timestamps

apply access/modification times of SOURCE files to corresponding destination files

-s, --strip

strip symbol tables


program used to strip binaries

-S, --suffix=SUFFIX

override the usual backup suffix

-t, --target-directory=DIRECTORY

copy all SOURCE arguments into DIRECTORY

-T, --no-target-directory

treat DEST as a normal file

-v, --verbose

print the name of each directory as it is created

-P, --preserve-context

preserve SELinux security context (-P deprecated)


set SELinux security context of destination file and each created directory to default type


like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX


display this help and exit


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


Written by David MacKenzie.

Reporting Bugs

GNU coreutils online help: <>
Report any translation bugs to <>

See Also

Full documentation <>
or available locally via: info '(coreutils) install invocation'

Referenced By

bundle(1), bundle-binstubs(1), bundle-config(1), bundle-exec(1), bundle-package(1), bundle-update(1), bundle-viz(1), dput(5), ebuild(5), gauche-install(1), shtool(1), shtool-install(1), star(1).

October 2019 GNU coreutils 8.31