linux-26 文件管理(四)install

说一个命令,叫install,man install,install是什么意思?安装,install表示安装的意思,那你猜install是用来干什么的?猜一猜干什么的?安装软件,安装第三方软件,错了,install到底干什么呢?如下图,

install - copy files and set attributes,复制一个文件,而且还可以给它指定属性的,当然指定属性,我们现在还没讲到属性,所以我们就来看它怎么复制文件的,install也可以用来实现复制文件,怎么用呢?

install [OPTION]... [-T] SOURCE DEST

install [OPTION]... SOURCE... DIRECTORY

install [OPTION]... -t DIRECTORY SOURCE...

install [OPTION]... -d DIRECTORY...

源一大堆,目标只能是一个目录,是不是这样子?目标它没指定是非得是目录,但只要源是多个目标,目标就一定得是目录,所以它跟cp用法是一样的,同时它还可以使用-d,指定一个目录,这是什么意思呢?看-d,

-d, --directory

treat all arguments as directory names; create all components of the specified directories,

将所有的这里给你的路径当做目录来对待,而且可以使用多个,什么意思呢?演示一下例子就明白了,install -d /tmp/{install.1,install.2},

这是干什么的?在/tmp下创建了两个目录,叫install.1和install.2,所以也可以用来创建目录,加使用-d选项即可。所以它既可以创建目录,又可以创建文件了,-d选项指定directory,还可以取多个,表示用于创建目录。install src dest,这个是用来干什么的呢?一个源,一个目标,复制文件,install /etc/passwd /var/tmp/install.file1,如下图,

但是它是有颜色的,那意味着什么呢?复制过去之后有没有执行权限?这是install的一个特性,那原来有没有执行权限呢?如下图,

原来没有执行权限,复制过去有执行权限,这是不甚妥当的,那因此,我们可以给它指定权限的,如下图,

set permission mode (as in chmod), instead of rwxr-xr-x,我们可以使用-m选项指定复制过去之后,权限是什么?如果不指定,默认就是rwxr-xr-x。同时install跟cp一样,它还有另外一个用法,它也可以使用跟mv一样的一个用法,install -t指定目标,然后指定源,还可以有多个,install -t directory src....,把这些所有的源都给它附到这样目标下,把多个文件附到同一个目录里边去,也是可以的,所以这个源既可以是文件,甚至还可以是目录,有时候,一般来讲install通常只是install文件,install目录的话,它使用-d,那是创建一个新的空目录,那install能不能复制目录呢?来看看,file /etc/rc.d,install /etc/rc.d/ /var/tmp,如下图,

跟cp是不是一样的?cp /etc/rc.d/ /var/tmp,如果不指定-r选项,是不允许复制目录的,除非使用选项,那install支不支持选项呢?没有,没有选型支持install目录的,所以install是install文件的,这是我们的install命令,将来我们RPM包制作的时候,会经常用到这个命令,况且对我们而言,这也是另外一种途径用于实现文件复制的一种用法。

相关推荐
SoulKuyan1 分钟前
android su执行命令
linux·运维·服务器
Zhao_yani2 分钟前
Centos 7安装Apache Drill
linux·centos·drill
zz-zjx4 分钟前
LVS/IPVS与Keepalived在云原生环境中的深度学习与实践(一)
运维·lvs
一叶飘零_sweeeet23 分钟前
Linux 安装 Elasticsearch:避坑指南 + 性能调优实战
linux·运维·elasticsearch
网络精创大傻26 分钟前
Terminator SSH 管理器 — 一款适用于 Terminator 的精美 SSH 连接插件
运维·ssh
运维_攻城狮38 分钟前
Nexus 3.x 私服搭建与运维完全指南(Maven 实战)
java·运维·maven
梁正雄42 分钟前
linux-shell-基础与变量和运算符-1
linux·运维
HIT_Weston1 小时前
23、【Ubuntu】【远程开发】内网穿透:SSH 反向隧道
linux·ubuntu·ssh
买辣椒用券1 小时前
在Linux上实现Modbus RTU通信:一个轻量级C++解决方案
linux·c++
意疏1 小时前
《金仓KingbaseES vs 达梦DM:从迁移到运维的全维度TCO实测对比》
运维