linux中install命令和cp命令的使用与区别

 更新时间:2017年01月15日 15:27:21   作者:Lingxian_Kong  
相信大家都知道linux中的命令Install和cp类似,都可以将文件/目录拷贝到指定的地点。下面这篇文章就详细介绍了linux中install命令和cp命令的介绍与区别。有需要的朋友们可以参考借鉴,下面来一起看看吧。

前言

install和cp类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile(在RPM的spec里面也经常用到),使用它来将程序拷贝到目标(安装)目录。

install主要用法如下:

install [OPTION]… SOURCE… DIRECTORY

此时,DIRECTORY必须存在,否则被当成新的文件

install [OPTION]… -t DIRECTORY SOURCE…

install [OPTION]… -d DIRECTORY…

如果目录不存在则创建

     -b:为每个已存在的目的地文件进行备份;

     -D:创建目的地前的所有目录,然后将来源复制到目的地

     -g:自行设置所属的组;

     -m:自行设置权限,而不是默认的rwxr-xr-x

     -o:自行设置所有者

     -p:以来源文件的修改时间作为相应的目的地的文件属性

例如:

@install -d /usr/bin
@install -p -D -m 0755 targets /usr/bin
相当于
@mkdir -p /usr/bin
@cp targets /usr/bin
@chmod 755 /usr/bin/targets
@touch /usr/bin/tagets <---- 更新文件时间戳
<----@前缀的意思是不在控制台输出结果。

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

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

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

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

总结

以上就是这篇文章的全部呢日哦功能了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • VirtualBox安装Centos6.8出现E_INVALIDARG(0x80070057)的解决方法

    VirtualBox安装Centos6.8出现E_INVALIDARG(0x80070057)的解决方法

    这篇文章主要为大家详细介绍了VirtualBox安装Centos6.8出现E_INVALIDARG(0x80070057)的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • centos7防火墙如何设置只对部分端口号限源

    centos7防火墙如何设置只对部分端口号限源

    这篇文章主要介绍了centos7防火墙如何设置只对部分端口号限源问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • ubuntu 下JDK环境变量配置方法

    ubuntu 下JDK环境变量配置方法

    这篇文章主要介绍了ubuntu 下JDK环境变量配置方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-03-03
  • Linux程序运行找不到动态库.so文件的解决

    Linux程序运行找不到动态库.so文件的解决

    这篇文章主要介绍了Linux程序运行找不到动态库.so文件的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Linux下的多线程编程实例解析

    Linux下的多线程编程实例解析

    这篇文章主要介绍了Linux下的多线程编程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Ubuntu/Debian 自有软件包构建私有源详解

    Ubuntu/Debian 自有软件包构建私有源详解

    这篇文章主要介绍了Ubuntu/Debian 自有软件包构建私有源详解的相关资料,这里介绍详细步骤,需要的朋友可以参考下
    2016-11-11
  • Linux文件删除后空间未释放问题详解

    Linux文件删除后空间未释放问题详解

    这篇文章主要给大家介绍了关于Linux文件删除后空间未释放问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • Linux netstat命令大全详解

    Linux netstat命令大全详解

    本篇文章主要介绍了Linux netstat命令详解,现在分享给大家,也留给日后一个参考,有需要的可以了解一下。
    2016-11-11
  • 带你入门Linux中size命令的6个例子

    带你入门Linux中size命令的6个例子

    这篇文章主要给大家介绍了几个带你入门Linux中size命令的例子,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • Linux 4.9内核正式发布!来看看更新了什么?

    Linux 4.9内核正式发布!来看看更新了什么?

    Linus Torvalds 在 2016年12月11日发布了Linux内核4.9的正式版本,这次主要带来了一些新的功能和一些驱动更新,当然,还有一些底层的改进。想要看看详细的介绍,下面来通过这篇文章来一起看看吧。
    2016-12-12

最新评论