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

相关推荐
和煦的春风1 分钟前
性能案例分析 | Waiting for GPU completion
android·linux
道路与代码之旅32 分钟前
Delphi - IndyHttpServer接收上传文件
运维·服务器
lybugproducer1 小时前
深入 Linux 文件系统:从数据存储到万物皆文件
linux
烦躁的大鼻嘎1 小时前
【Linux】深入Linux多线程架构与高性能编程
linux·运维·服务器·开发语言·c++·ubuntu
羚羊角uou1 小时前
【Linux】system V共享内存
linux·运维·服务器
林克爱塞尔达1 小时前
Linux入门(二)
linux·运维·chrome
破烂儿1 小时前
Ubuntu Server 安装图形界面和通过Window远程桌面连接服务器(Xrdp)
linux·服务器·ubuntu
Hello.Reader1 小时前
Kafka 运维实战基本操作含命令与最佳实践
运维·kafka·linq
存储服务专家StorageExpert2 小时前
手搓一个 DELL EMC Unity存储系统健康检查清单
linux·运维·服务器·存储维护·emc存储
笑口常开xpr2 小时前
Linux 库开发入门:静态库与动态库的 2 种构建方式 + 5 个编译差异 + 3 个加载技巧,新手速看
linux·c语言·动态库·静态库