详解Linux系统中的install命令的用法

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

  或:install [选项]... 源文件... 目录

  或:install [选项]... -t 目录 源文件...

  或:install [选项]... -d 目录...

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

  如果您希望在GNU/Linux 操作系统上下载并安装一个即时可用的软件包,

  您应当使用诸如yum(1) 和apt-get(1) 的软件包管理器。

  在前三种形式中,将源文件复制到目标文件或将多个源文件复制到一个已存在的目录

  中同时设置其所有权和权限模式。在第四种形式中,创建给出目标目录中的所有组件。

  长选项必须使用的参数对于短选项时也是必需使用的。

  --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下面

< p>[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 - copy files and set attributes

  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

< p>

  更新文件时间戳

  install 命令好强大啊。

  另外@前缀的意思是不在控制台输出结果。

猜你喜欢

  1. 详解Linux系统中md5sum命令的用法

    这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算 ...

  2. 详解Linux系统中的root权限控制

    在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户 ...

  3. 详解Linux系统中的进程初始化配置文件inittab

    /etc/inittab文件描述了哪些进程开始启动并正常运行.inittab为linux初始化文件系统时init初始化程序用到的配置文件.这个文件负责设置init初始化程序初始化脚本在哪里;每个运行级 ...

  4. 详解Linux系统中的usr目录

    linux 文件结构中,有一个很神奇的目录 —— /usr.之前一直没有怎么关注过它,反正程序都是安装在里边的,也没有什么值得追根溯源的东西.直到有一天 fedora 要简化整个文件系统体系,看到讨论 ...

  5. 详解Linux系统中的守护进程

    守护进程daemon,是生存期较长的一种进程.它们常常在系统自举时启动,仅在系统关闭时才终止.因为它们没有控制终端,所以说它们是在后台运行的.UNIX系统有很多守护进程,它们执行日常事务活动. 1.系 ...

  6. 详解Linux系统中关机与重启相关命令的用法

    shutdownshutdown 以一种安全的方式关闭系统.所有登陆用户都可以看到关机信息提示,并且 login (1) 将被阻塞.可以指定立刻关机,也可以指定系统在一定的延时后关机.所有进程都将接收 ...

  7. 详解Linux系统中at与atq命令的用法

    at at 在指定的时间执行命令. -V 在标准错误上输出版本号. -q queue 使用指定的队列.一个队列用一个字母标定,有效的的队列标定的 范围是从a到z和从A到Z.at 的缺省队列是 a,ba ...