在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
用法:install [选项]... [-T] 源文件 目标文件 此install 将文件(通常仅是编译后的文件)复制到您所选择的目的位置。 在前三种形式中,将源文件复制到目标文件或将多个源文件复制到一个已存在的目录 长选项必须使用的参数对于短选项时也是必需使用的。 备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX none, off 不进行备份(即使使用了--backup 选项) 例: 复制代码 代码如下:[root@linux ~]# install test.php ar_test #将test.php拷贝到ar_test下面 [root@linux ~]# install -d hao #创建目录 [root@linux ~]# install -t hao utf8 test.php #将utf8 test.php cp到hao目录下面
它们完成同样的任务——拷贝文件,它们之间的区别主要如下: 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 <a>/usr/bin</a> -p -D -m 0755 targets /usr/bin 相当于 复制代码 代码如下:@mkdir -p /usr/bin targets /usr/bin 755 /usr/bin/targets /usr/bin/tagets
另外@前缀的意思是不在控制台输出结果。 |
请发表评论