国际访客建议访问 Primers 编程伙伴 国际版站点 > Bash 教程 > install 以获得更好的体验。

# Bash 的 install 命令

install [OPTION]... SOURCE DEST

!subtitle:功能

安装文件。

!subtitle:类型

可执行文件(/usr/bin/install),属于 coreutils

!subtitle:参数

  • 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-27 09:38:15 创建于: 2025-11-27 09:38:15