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包制作的时候,会经常用到这个命令,况且对我们而言,这也是另外一种途径用于实现文件复制的一种用法。

相关推荐
摸鱼仙人~3 分钟前
大模型文章生成的风格个性化与多文体写作:一套可落地的方法论
linux·运维·服务器
xybDIY7 分钟前
亚马逊云 Organizations 组织 Link 账号关联与解绑自动化解决方案
运维·自动化·云计算·aws
煤球王子8 分钟前
浅学文件系统4(页面缓存)
linux
peixiuhui12 分钟前
Iotgateway技术手册-1. 项目概述
linux·网关·iot·modbus·数据采集网关·iotgateway·采集软件
wdfk_prog13 分钟前
[Linux]学习笔记系列 -- [fs]sysfs
linux·笔记·学习
慕容雪_14 分钟前
运维笔记-网络【属性】-【共享】中没有【家庭网络连接(H)】的选项
运维·网络·共享
AllFiles23 分钟前
Linux 网络故障排查:如何诊断与解决 ARP 缓存溢出问题
linux·后端
爬山算法36 分钟前
Hibernate(30)Hibernate的Named Query是什么?
服务器·前端·hibernate
AC赳赳老秦42 分钟前
Shell 脚本批量生成:DeepSeek 辅助编写服务器运维自动化指令
运维·服务器·前端·vue.js·数据分析·自动化·deepseek
pps-key1 小时前
Afrog漏洞扫描器:从入门到入狱......边缘的摇摆记录(pps-key黑化版)
linux·计算机网络·安全·网络安全