用法:install [选项]... [-T] 源文件 目标文件
 或:install [选项]... 源文件... 目录
 或:install [选项]... -t 目录 源文件...
 或:install [选项]... -d 目录...

此install 将文件(通常仅是编译后的文件)复制到您所选择的目的位置。

在前三种形式中,将源文件复制到目标文件或将多个源文件复制到一个已存在的目录
中同时设置其所有权和权限模式。在第四种形式中,创建给出目标目录中的所有组件。

长选项必须使用的参数对于短选项时也是必需使用的。
  --backup[=CONTROL]        为每个已存在的文件创建备份
  -b                    类似--backup 但不接受参数
  -c                    (忽略)
  -C, --compare         比较每组源文件和目标文件,在一些情况下不修改目标文件
  -d, --directory       将所有参数视为目录名称;为指定的目录创建所有组件
  -D                    创建目标目录的所有必要的父目录,然后将源文件复制至该目录
  -g, --group=组        自行设置所属组,而不是进程目前的所属组
  -m, --mode=模式       自行设置权限模式(像chmod),而不是rwxr-xr-x
  -o, --owner=所有者    自行设置所有者(只适用于超级用户)
  -p, --preserve-timestamps     修改源文件的访问/修改时间以与目标文件保持一致
  -s, --strip                   拆解符号表
  --strip-program=程序      指定拆解二进制文件的程序
  -S, --suffix=后缀             覆盖常用备份文件后缀
  -t, --target-directory=目录   将源文件所有参数复制到指定目录
  -T, --no-target-directory     将目标文件视为普通文件
  -v, --verbose                 创建目录时显示其名称
  --preserve-context        保持SELinux 的安全环境
  -Z, --context=CONTEXT         设置文件和目录的SELinux 安全环境
  --help            显示此帮助信息并退出
  --version         显示版本信息并退出

备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:

none, off       不进行备份(即使使用了--backup 选项)
  numbered, t     备份文件加上数字进行排序
  existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
  simple, never   永远使用普通方式备份

例:

[root@linux ~]# install test.php ar_test #将test.php拷贝到ar_test下面
[root@linux ~]# install -d hao #创建目录
[root@linux ~]# install -t hao utf8 test.php #将utf8 test.php cp到hao目录下面

linux中install命令和cp命令的区别

基本上,在Makefile里会用到install,其他地方会用cp命令。

它们完成同样的任务——拷贝文件,它们之间的区别主要如下:

1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在 使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件。而使用 install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了;

2、install命令会恰当地处理文件权限的问题。比如说,install -c会把目标文件的权限设置为rwxr-xr-x;

3、install命令可以打印出更多更合适的debug信息,还会自动处理SElinux上下文的问题。

install 在做拷贝的同时,设置attributes.

因此Makefile 中尽量使用install 命令。

更新文件时间戳 例如:

@install -d /usr/bin -p -D -m 0755 targets /usr/bin
# 相当于
@mkdir -p /usr/bin targets /usr/bin 755 /usr/bin/targets /usr/bin/tagets 

linux shell install 命令简介相关推荐

  1. linux shell find 命令简介

    find命令格式: find   path  -option  [ -print ]  [ -exec   -ok   |xargs  |grep  ] [  command  {} \;  ] fi ...

  2. linux shell 命令集,Linux shell fold 命令

    Linux shell fold命令用于限制文件列宽. fold 命令会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备. 若不指定任何文件名称,或是所给予的文件名为 -, ...

  3. dump命令linux,Linux shell dump 命令

    Linux shell dump 命令用于备份ext2或者ext3文件系统. dump 命令用于备份ext2或者ext3文件系统, 可将目录或整个文件系统备份至指定的设备,或备份成一个大文件. dum ...

  4. linux ftp 查找文件,Linux shell ftp命令根据文件日期下载文件的方法

    需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" & ...

  5. shell waite php,linux shell wait命令详解

    wait命令是linux下的一个命令,那么它的语法和用途是什么呢?下面由学习啦小编为大家整理了linux shell wait命令的相关知识,希望大家喜欢! linux shell wait命令 wa ...

  6. Linux—shell—nohup命令使用

    Linux下有时候我们希望某个程序可以一直在后台执行,很多都是使用& 在程序命令结尾来让程序自动运行.  例如: [root@lbogon roy]# ./test.sh & 但是这样 ...

  7. linux shell tr命令,linux shell tr命令详解

    tr命令是linux下的一个命令,那么它的语法和用途是什么呢?下面由学习啦小编为大家整理了linux shell tr命令的相关知识,希望大家喜欢! linux shell tr命令 tr是trans ...

  8. linux shell 关机,linux shell关机命令详解

    当linux系统需要用到关机命令时,那么我们该使用什么命令来进行操作呢?下面由学习啦小编为大家整理了linux shell关机命令的相关知识,希望大家喜欢! linux shell关机命令 在linu ...

  9. Linux Shell nohup命令用法(内含代码演示)

    一.Linux Shell nohup命令用法 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: ...

最新文章

  1. excel数据生成sql insert语句
  2. dubbo之rmi协议使用
  3. virtuaBox 连接不上解决办法
  4. deepinu盘制作工具_用U盘装系统,试试这款多系统启动盘制作工具!
  5. Redis学习与实战之列表
  6. 移动互联应用技术和计算机网络技术,移动互联应用技术团队介绍
  7. Jmeter下载安装详细步骤(2021)
  8. 通过工具XShell4生成密钥对(公钥和私钥)
  9. Ubuntu安装pycharm专业版方法
  10. 【STM32】红外对射计数器计数原理和代码
  11. 考研逻辑整理 - 概念和概念的种类
  12. 怎样预防电脑辐射脱发
  13. 悉尼大学INFO1112Assignment1课业解析
  14. 重磅!腾讯优图29篇论文入选顶会ECCV 2022
  15. 利用Python生成双月分类数据集
  16. TSINGSEE青犀视频监控平台的多种联网方式详解
  17. 简单面试题,但是容易忘记
  18. 网易python笔试题_2017秋季网易校园招聘编程题和个人解答(python)
  19. 渗透测试-Openssl心脏出血漏洞复现
  20. 家教信息服务平台的开发

热门文章

  1. Intel x710万兆 SR-IOV 网卡驱动升级
  2. 示波器探头使用注意事项,示波器探头的选择
  3. 步步为营 .NET 设计模式学习笔记系列总结
  4. 用Latex做介绍自己和团队科研的网页
  5. 设计一个百万级的消息推送系统
  6. 22. 一个题来探查对 字符串,指针,数组三方面的关联使用方面的概念是否清晰,分析下面三个printf打印什么?...
  7. JEESZ分布式框架之技术介绍文档
  8. WP7下巧用MediaElement在雪藏中
  9. Spring-Boot:5分钟掌握SpringBoot开发
  10. Spring Boot 中的容器配置