6022

30 分钟

#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)

创建于 2025/11/16

更新于 2025/11/16