#Bash 的 install 命令
install [OPTION]... SOURCE DEST
功能
安装文件。
类型
可执行文件(/usr/bin/install),属于 coreutils。
参数
OPTION选项:--backup[=CONTROL]- 制作备份none,off- 始终不备份numbered,t- 制作编号备份existing,nil- 如果存在编号备份则制作编号备份,否则制作简单备份simple,never- 始终制作简单备份
-b- 制作备份,由环境变量VERSION_CONTROL决定备份方式-c-复制而不是移动文件;现在始终是复制,忽略此选项-C,--compare- 比较源文件和目标文件,如果内容和元信息完全一致则不修改目标文件-d,--directory- 将所有参数视为目录(源文件复制到目录内部)-D- 自动创建父目录--debug- 打印详细步骤-g,--group=GROUP- 设置目标文件的所属组-m,--mode=MODE- 设置目标文件的访问权限-o,--owner=OWNER- 设置目标文件的所有者-p,--preserve-timestamps- 目标文件保留源文件的时间戳-s,--strip- 剥离符号表--strip-program=PROGRAM- 使用PROGRAM对二进制文件进行剥离-S,--suffix=SUFFIX- 设置备份文件的后缀-t,--target-directory=DIRECTORY- 指定目标目录-T,--no-target-directory- 将DEST视为文件(如果DEST是目录,则进行合并而非复制到它内部)-v,--verbose- 打印详细信息--preserve-context-Z--context[=CTX]--help- 显示帮助--version- 显示版本
USESOURCER- 源文件DEST- 目标
#示例
$ sudo install -u root -g root -m755 -s my_cmd /usr/bin
- 将可执行文件
my_cmd剥离符号表后安装到/usr/bin,所有者和所属组设为root,权限设为755
#推荐阅读
#手册
INSTALL(1) User Commands INSTALL(1) NAME install - copy files and set attributes SYNOPSIS install [OPTION]... [-T] SOURCE DEST install [OPTION]... SOURCE... DIRECTORY install [OPTION]... -t DIRECTORY SOURCE... install [OPTION]... -d DIRECTORY... DESCRIPTION This install program copies files (often just compiled) into destina‐ tion 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. --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -c (ignored) -C, --compare compare content of source and destination files, and if no change to content, ownership, and permissions, do not modify the destination at all -d, --directory treat all arguments as directory names; create all components of the specified directories -D create all leading components of DEST except the last, or all components of --target-directory, then copy SOURCE to DEST --debug explain how a file is copied. Implies -v -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 --strip-program=PROGRAM 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 created file or directory --preserve-context preserve SELinux security context -Z set SELinux security context of destination file and each cre‐ ated directory to default type --context[=CTX] like -Z, or if CTX is specified then set the SELinux or SMACK security context to CTX --help display this help and exit --version output version information and exit The backup suffix is '~', unless set with --suffix or SIM‐ PLE_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 AUTHOR Written by David MacKenzie. REPORTING BUGS GNU coreutils online help: <https://www.gnu.org/software/coreutils/> Report any translation bugs to <https://translationproject.org/team/> COPYRIGHT Copyright © 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO cp(1) Full documentation <https://www.gnu.org/software/coreutils/install> or available locally via: info '(coreutils) install invocation' GNU coreutils 9.4 April 2024 INSTALL(1)