Linux如何区分install命令和cp命令

2016-02-19 08:55 7 1 收藏

下面是个Linux如何区分install命令和cp命令教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - Linux教程 】

在Linux众多命令中,install命令和cp命令都能拷贝文件,但在用法上有些区别,不少人在使用的时候不知如何选择,下面图老师小编就教你如何区分install命令和cp命令。

 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必须是文件。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

有用选项 -D

install -D x a/b/c # 效果类似 mkdir -p a/b && cp x a/b/c

3: install [option] SOURCE [SOURCE.。。] DIRECTORY

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

复制 多个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: (大写)

安装文件, 但是如果目标文件和源文件一样( 判断方法需要看看代码确认) 就跳过, 这样的好处是 能够保持一样文件的mtime.

上面就是Linux install命令和cp命令的用法介绍了,其中最大的区别就是在复制目标文件存在的时候,install可以先删除再使用,以免拷贝失败。

来源:http://www.tulaoshi.com/n/20160219/1588840.html

延伸阅读
标签: 电脑入门
Linux中sed命令主要用于文本的处理,可处理文本的行和列,下面图老师小编就给大家详细介绍下Linux中sed命令的用法,有兴趣的朋友不妨来了解下吧。 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但...
标签: 电脑入门
vi是文本编辑器,而vim是类似于vi的文本编辑器,是代码编辑比较实用的工具,下面图老师小编就给大家介绍下Linux如何使用Vi、Vim命令,感兴趣的朋友一起来了解下吧。 一、一般模式:删除、复制与粘贴类命令 x,X x为向后删除一个字符,X为先前删除一个字符 nx(n代表数字) 向后删除n个字符 dd 删除当前行 D 删除当前行所有字符,试成...
标签: 电脑入门
Linux系统监控的命令其实有很多,pidstat命令就是其中的一种,使用pidstat命令可以对Linux系统进程数据进行监控,但要先对pidstat进行安装才能使用,下面图老师小编就给大家介绍下Linux安装使用pidstat的方法,感兴趣的朋友不妨来了解下。 pidstat命令用来监控被Linux内核管理的独立任务(进程)。它输出每个受内核管理的任务的相关信息。pids...
标签: 电脑入门
通过Linux下的history命令我们可以查看用过的命令,即历史命令,今天本文将详细介绍Linux下history的具体用法,一起来了解下吧。 一、什么是history 在bash功能中,它能记忆使用过的命令,这个功能最大的好处就是可以查询曾经做过的举动! 从而可以知道你的运行步骤,那么就可以追踪你曾下达过的命令,以作为除错的工具! 二、Histor...
标签: 电脑入门
Linux中read命令主要用于读取和输入终端或文件,也是经常会用到的命令,下面将通过实例来给大家详细介绍下Linux下read命令的用法,一起来了解下吧。 一、概述 read命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read命令将数据放入一个标准变量中。 二、使用举例(这里仅列出一些常用的选项) 1.基本读...

经验教程

65

收藏

99
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部