设为首页 收藏本站
查看: 885|回复: 0

[经验分享] Linux命令:install

[复制链接]

尚未签到

发表于 2018-5-19 09:37:42 | 显示全部楼层 |阅读模式
install命令简介:
                  install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。
               install命令    - copy files and set attributes(属性)


1.命令格式:
    install [OPTION]... [-T] SOURCE DEST
      install [OPTION]... SOURCE... DIRECTORY
      install [OPTION]... -t DIRECTORY SOURCE...
      install [OPTION]... -d DIRECTORY...



2.命令功能:
     1.作用
     install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。
   2.格式
    (1) install [选项]... 来源 目的地
    (2) install [选项]... 来源... 目录
    (3) install -d [选项]... 目录...
    在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。

   3.主要参数
    --backup[=CONTROL]:为每个已存在的目的地文件进行备份。
    -b:类似 --backup,但不接受任何参数。
    -c:(此选项不作处理)。
    -d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。
    -D:创建<目的地>前的所有主目录,然后将<来源>复制至 <目的地>;在第一种使用格式中有用。
    -g,--group=组:自行设定所属组,而不是进程目前的所属组。
    -m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。
    -o,--owner=所有者:自行设定所有者 (只适用于超级用户)。
    -p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。
    -s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。
    -S,--suffix=后缀:自行指定备份文件的<后缀>。
    -v,--verbose:处理每个文件/目录时印出名称。
    --help:显示此帮助信息并离开。
    --version:显示版本信息并离开。


  

  
附:在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  - copy files and set attributes
      install 在做拷贝的同时,设置attributes.
      因此Makefile 中尽量使用install 命令。
      例如
        @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 命令好强大啊。
        另外@前缀的意思是不在控制台输出结果。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461910-1-1.html 上篇帖子: Linux命令:mv 下篇帖子: linux基本管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表