install 命令
用途
安装命令。
语法
/usr/bin/install [- c DirectoryA] [- f DirectoryB] [- i] [- m] [- M Mode] [- O 所有者] [- G 组] [- S] [- n DirectoryC] [- o] [- s] 文件 [Directory...]
描述
install 命令在文件系统中一个特定的地方安装一个特定文件。 它经常在 makefile 中使用。 当替换文件时,install 命令将每个文件复制(或移动)到一个适当的目录,因此会保留基于 cp 和 mv 命令行为的原始所有者和许可权。 试图将目的地更改为 bin 所有者和 bin 组的尝试。 -O Owner 和 -G Group 标志可用来指定不同的所有者或组。 install 命令写一条消息告诉您它在替换或创建哪些文件以及它们进行到了哪里。
如果想用 -O 或 -G 标志来指定安装的文件的所有权,您必须是个超级用户。
如果不指定 Directory 参数,install 命令在一组缺省目录(按 /usr/bin、 /etc 和 /usr/lib 顺序)下搜索具有和 File 参数相同名称的文件。 第一次发现一个文件时,它用 File 覆盖它,并发出一条消息表示它已经这样做了。 如果没有匹配发现,install 命令发出一条消息告诉您没有匹配项,然后退出而不做进一步的操作。 如果 File 参数 在当前目录下不存在,install 命令显示一个错误消息并退出返回非零值。
如果在命令行中指定了任何目录, install 命令在搜索缺省目录前搜索它们。
标志
| 项 | 描述 |
|---|---|
| -c DirectoryA | 仅当那个文件在 DirectoryA 变量中已经不存在时,在那里安装一个新的命令文件。 如果它在那里发现一个 File 的副本,它发出一条消息并退出,同时并不覆盖这个文件。 该标志可单独使用也可与 -s、 -M、 -O、 -G 和 -S 标志配合使用。 |
| -f DirectoryB | 强制 File 文件安装在 DirectoryB 目录,不管 File 是否已存在。 如果正在安装的文件已经不存在,该命令将新文件的许可权代码和所有者分别设为 755 和 bin。 该标志可单独使用也可与 -o、-s、-M、-O、-G 或 -S 标志一起用。 |
| -G 组 | 为目标文件指定一个不同的组。 缺省组为 bin。 |
| -一 | 忽略缺省目录列表并仅在命令行中指定的那些目录中搜索。 该标志不能与 -c、-f 或 -m 标志配合使用。 |
| -M | 移动 File 参数到目录而不是复制它。 不能与 -c、-f、 -i 或 -n 标志配合使用。 |
| -M 方式 | 指定目的地文件的方式。 |
| -n DirectoryC | 如果 File 参数不在任何搜索过的目录中时,在 DirectoryC 变量中安装它,并将文件的许可权和所有者分别设为 755 和 bin。 该标志不能与 -c、-f 和 -m 标志配合使用。 |
| -O | 通过将 文件 参数的旧副本复制到同一目录中名为 OLD文件 的文件来保存该副本。 此标志不能与 -c 标志配合使用。 |
| -O 所有者 | 指定目的地文件的不同所有者。 缺省所有者为 bin。 |
| -s | 禁止显示除错误消息外的所有消息。 |
| -S | 导致这个二进制文件在安装后被分条化。 |
示例
- 要替换已存在于其中一个缺省目录中的命令,请输入:
如果它在 /usr/bin、/etc 或 /usr/lib 目录下被发现,那么替换 fixit 文件。 否则,不安装 fixit 文件。 例如,如果 /usr/bin/fixit 存在,那么这个文件被在当前目录下的 fixit 文件替换。install fixit - 要替换已存在于指定目录或缺省目录中的命令并保留旧版本,请输入:install -o fixit /etc /usr/games如果它在 /etc 或 /usr/games 目录或某个缺省目录下被发现,那么替换 fixit 文件。 否则,不安装 fixit 文件。 如果文件被替换,旧版本被保存并在它被发现的目录下重命名为 OLDfixit。
- 要替换已存在于指定目录中的命令,请输入:install -i fixit /home/jim/bin /home/joan/bin /usr/games它替换 fixit 文件,如果它在 /home/jim/bin、/home/joan/bin 或 /usr/games 目录下被发现。 否则不安装该文件。
- 要替换在缺省目录中找到的命令,或者如果找不到该命令,请将其安装在指定的目录中,请输入:install -n /usr/bin fixit如果它在一个缺省目录下被发现,它替换 fixit 文件。 如果这个文件不被发现,它作为 /usr/bin/fixit 安装。
- 要安装新命令,请输入:install -c /usr/bin fixit这通过安装一个 fixit 文件的复本作为 /usr/bin/fixit 来创建一个新命令,但是仅当这个文件已经不存在时。
- 要在指定目录中安装命令 (无论它是否已存在) ,请输入:不论它存在与否,这将强制 fixit 文件被作为 /usr/bin/fixit 安装。 如果有,旧的版本通过移动它到 /usr/bin/OLDfixit 来保存(这是 -o 标志的结果)。 告诉您新命令在何处安装的消息被禁止( 这是 -s 标志的结果)。
兼容性
为与 Berkeley 软件分发版 (BSD) 兼容,存在两个 install 命令。 请参阅 installbsd 命令。
文件
| 项 | 描述 |
|---|---|
| /usr/bin/install | 包含 install 命令。 |