十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家介绍Linux中install命令和cp命令的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
站在用户的角度思考问题,与客户深入沟通,找到贺兰网站设计与贺兰网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟主机、企业邮箱。业务覆盖贺兰地区。它们之间的区别主要如下:
1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件。而使用install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了;
2、install命令会恰当地处理文件权限的问题。比如说,install -c会把目标文件的权限设置为rwxr-xr-x;
3、install命令可以打印出更多更合适的debug信息,还会自动处理SElinux上下文的问题。
------------------------------------分割线------------------------------------
当时在编译LFS 6 的时候, 一直搞不懂 install 的命令 和 cp 以及和 chmod, chgrp 的区别?
工作之后才明白一个Running 的进程不能随便进行 cp , 经常会提示 “text busy", 运维部的前辈们给的建议是采用mv 来替代 cp , 今天看起来前辈好像不知道install 这个命令啊。
现在就简单介绍一下 install 命令。
install copy 文件列表且同时能够设置文件的属性(包括 owner, group) , 通常用在 Makefiles 中 用来copy 程序到指定的目录。
常见的用法有以下3中形式:
1: install -d [option] DIRECTORY [DIRECTORY.。。] 支持多个。 类似 mkdir -p 支持递归。
例如: install -d a/b/c e/f 结果和 mkdir -p a/b/c e/f 一样。
2: install [option] SOURCE DEST
复制 SOURCE 文件(测试不能是目录) 到DEST file(文件) 。
install a/e c 结果类似 cp a/e c # 注意c必须是文件。
有用选项 -D
install -D x a/b/c # 效果类似 mkdir -p a/b && cp x a/b/c
3: install [option] SOURCE [SOURCE.。。] DIRECTORY
复制 多个SOURCE 文件到目的目录。
install a/* d 其中 d 是目录。
有用选项
-b :自动备份。
-m : 设置安装文件的权限
-p :保留文件的timestamps. 也就是说文件的timestaamps 和 source 文件一样。 当我们想要利用安装文件的mtime来跟踪文件的build时间而不是 安装时间。
-s : Strip the symbol tables from installed binary executables.
-S : 备份文件的后缀。
install -S .bak new old #old 文件自动被 mv 为 old.bak.
-v: verbose ,打印install 的文件的详细信息。
`-c‘
Ignored; for compatibility with old Unix versions of `install’。 #用来兼容旧版的unix.
-C: (大写)
关于Linux中install命令和cp命令的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。