NAME

install - install files and directories

SYNOPSIS

install [-CcDp] [-g group] [-m mode] [-o owner] file1 file2

install [-CcDp] [-g group] [-m mode] [-o owner] file ... directory

install -d [-g group] [-m mode] [-o owner] directory ...

DESCRIPTION

install moves (or copies if -C or -c are specified) files to the target path specified by file2 or directory. Alternatively, if -d is specified, install creates directories (also creating missing parent directories as necessary, similar to mkdir -p).

install accepts these options:

-C

Copy the file only if it differs from the target (according to cmp -s). This option implies -c.

-c

Copy the file instead of performing the default action of deleting the original.

-D

Give debugging information. If specified once, install will warn about impending copies or moves. If specified more than once, install will warn when it does not install files due to -C.

-d

Create directories (creating missing parent directories as needed, similar to mkdir -p). When creating parent directories, the implied directories are created with the default creation mask 0755 (modified by your umask). Only those directories explicitly provided on the command line take the permissions specified by -m. This behavior imitates that of BSD install(1).

-f

Specify the target's file flags, i.e. -f flags. This option is only provided for compatibility and does not affect the execution of install.

-g

Specify the group to which the target file should belong. Both numeric and mnemonic group IDs are acceptable.

-M

Do not use mmap(2). This option is only provided for compatibility and does not affect the execution of install.

-m

Specify the target file's mode. Either octal modes or symbolic modes are acceptable. See the documentation for the SymbolicMode module for details on acceptable symbolic modes. The default mode (used in absence of -m is 0755). When specifying a symbolic mode, keep in mind that all directories are created with the default creation mask 0755 (as modified by your umask), so it is probably best to use absolute symbolic permissions (e.g. u=rwx,g=rx,o=rx) as opposed to relative symbolic permissions (e.g. ugo+x).

-o

Specify the owner to whom the target should belong. Both numeric and mnemonic user IDs are acceptable.

-p

Preserve modification time. This option implies -C.

-s

Invoke strip(1) on installed binaries.

ENVIRONMENT

No environment variables affect the execution of install.

CAVEATS

The combination of creation of and setting permissions for files and directories is not atomic, so there are lots of possibilities for race conditions. If you are really concerned about this, use a umask of 77.

REVISION HISTORY

$Log: install,v $
Revision 1.2  2004/08/05 14:17:43  cwest
cleanup, new version number on website

Revision 1.1  2004/07/23 20:10:07  cwest
initial import

Revision 1.14  1999/07/29 18:36:38  gbacon
remove C<use Data::Dumper>

Revision 1.13  1999/07/29 18:35:34  gbacon
make -p imply -C as documented

Revision 1.12  1999/07/29 15:41:18  gbacon
must printf to use %o (in modify_file)!

Revision 1.11  1999/07/29 15:36:20  gbacon
beef up the docs!

Revision 1.1  1999/07/27 15:49:47  gbacon
added parens to File::Copy::{copy,move} calls
fixed $opt{D} versus $Debug botch :-(

Revision 1.0  1999/07/27 15:36:55  gbacon
Initial revision

AUTHOR

The Perl implementation of install was written by Greg Bacon <gbacon@itsc.uah.edu> as part of the ADaM Project.

COPYRIGHT and LICENSE

Copyright 1999 UAH Information Technology and Systems Center.

This program is free and open software. You may use, copy, modify, distribute, and sell this program (and any modified variants) in any way you wish, provided you do not restrict others from doing the same.

SEE ALSO

umask(2), chmod(1), mkdir(1), chown(8), chgrp(8), strip(1)