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

如题所述

基本上,在Makefile里会用到install,其他地方会用cp命令。
完成同样的任务——拷贝文件,两者之间的区别主要如下:
1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在
使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件。而使用
install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了;
2、install命令会恰当地处理文件权限的问题。比如说,install -c会把目标文件的权限设置为rwxr-xr-x;
3、install命令可以打印出更多更合适的debug信息,还会自动处理SElinux上下文的问题。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
1、install和cp类似,都可以将文件/目录拷贝到指定的地点。
2、如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。所以在Makefile里一般会用到install
3、whatis install
install (1) - copy files and set attributes可以设置文件属性。
cp (1) - copy files and directories
4、install命令可以打印出更多更合适的debug信息
5、实例:
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本回答被提问者和网友采纳
第2个回答  2016-08-23
  基本上,在Makefile里会用到install,其他地方会用cp命令。
完成同样的任务——拷贝文件,两者之间的区别主要如下:
1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在
使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件。而使用
install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了;
2、install命令会恰当地处理文件权限的问题。比如说,install -c会把目标文件的权限设置为rwxr-xr-x;
3、install命令可以打印出更多更合适的debug信息,还会自动处理SElinux上下文的问题。
第3个回答  2015-01-09
这是两个完全不同的命令
install命令一般用来安装二进制源码包的时候使用
make make install
cp则是文件拷贝命令
cp file1 file2
第4个回答  2015-01-09
觉cat a.txt > b.txt cp a.txt b.txt两句效两句同或者说catcp两命令本质区别
相似回答