介绍:
install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。
语法:
install [OPTION]… [-T] SOURCE DEST
install [OPTION]… SOURCE… DIRECTORY
install [OPTION]… -t DIRECTORY SOURCE…
install [OPTION]… -d DIRECTORY…
#如果给两个文件名,复制第一个文件到第二个
#如果给出了-t选项,或者如果最后一个文件是目录,并且没有给出-T选项,那么“install”将使用SOURCE的名称将每个SOURCE文件复制到指定的目录
#如果给出了-d选项,install会以755的权限创建每个目录,而不管-m选项指定的权限或者当前的umask,注意:目录Setuid和Setgid ::,用于如何继承父目录的set-user-ID和set-group-ID位
#在前两种格式中,会将<来源>复制到<目的地>或将多个<来源>文件复制到已存在的<目录>,同时设定权限模式及所有者/所属组。
#在第三种格式中,会创建所有指定的目录及它们的主目录。
#长选项必须用的参数,在使用短选项时也是必须的
选项:
–backup[=CONTROL]: 为每个已存在 的目的地文件进行备份
-b: 类似–backup,但不接受任何参数
-c: 此选项不作处理,man文档里写的是ignored
-D, –compare:比较每对源文件和目标文件,如果目的地具有相同的内容和任何指定的所有者,组,权限以及可能的SELinux上下文,那么不要修改目的地
-d, –directory: 所有参数都作为目录处理,而且会创建指定目录的所有主目录
-D: 创建<目的地>前的所有主目录,然后将<来源>复制至<目的地>;在第一种格式中有用
-g, –group=组: 自行设定所属组,而不是进程目前的所属组
-m, –mode=模式: 自行设定权限模式,(像chmod),而不是rwxr-xr-x
-o, –owner: 自行设定权限所有者(只适用于超级用户)
-p, –preserve-timestamp: 以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性
-s, –strip: 用strip命令删除symbol table,只适用于第一及第二种格式
-S, –suffix=后缀: 自定指定备份文件的后缀
-v, –verbose: 处理每个文件/目录时印出名称
-Z CONTEXT, –context=CONTEXT: 设置要用于任何创建的文件和目录的默认SELinux安全上下文。 如果SELinux被禁用,则打印警告并忽略该选项
–help:显示此帮助信息并离开
–version: 显示版本信息并离开
实例:
install -d [option] DIRECTORY [DIRECTORY…]
支持多个,类似
mkdir -p
,支持递归。例如:
install -d /a/b/c e/f
结果和
mkdir -p a/b/c e/f
一样
install [option] SOURCE DEST
复制SOURCE文件(测试不能是目录)到DEST(文件):
install a/e c #结果类似:cp a/e c #注意c必须是文件
-D选项:
install -D x a/b/c #类似于mkdir -p a/b && cp x /a/b/c
复制多个SOURCE文件到目的目录
install a/* d #其中d是目录