install命令
install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。
执行man install,了解install命令是用于复制文件和设置文件属性
语法
install [OPTION]... [-T] SOURCE DEST
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
install [OPTION]... -d DIRECTORY...
在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。
选项
--backup[=CONTROL]:为每个已存在的目的地文件进行备份。
-b:类似 --backup,但不接受任何参数。
-c:(此选项不作处理)。
-d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。
-D:创建<目的地>前的所有主目录,然后将<来源>复制至 <目的地>;在第一种使用格式中有用。
-g,--group=组:自行设定所属组,而不是进程目前的所属组。
-m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。
-o,--owner=所有者:自行设定所有者 (只适用于超级用户)。
-p,--preserve-timestamps:以<来源>文件的访问/修改时间作为相应的目的地文件的时间属性。
-s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。
-S,--suffix=后缀:自行指定备份文件的<后缀>。
-v,--verbose:处理每个文件/目录时印出名称。
--help:显示此帮助信息并离开。
--version:显示版本信息并离开。
注:install默认只支持文件操作,不支持目录操作,如需支持目录操作则需要加参数选项-D
实例:
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 file(文件):
如将testmv1内容复制到testmv2,testmv2如果不存在则新建,testmv1和testmv2的内容是一样的
有用选项-D:
如果不加-D选择,则目标目录必须要存在,如果不存在则提示目录或文件不存在,加-D之后如果目录不存在则新建目录和文件,并将源文件内容复制到新目录下的新文件中
-t选项表示目标目录:
install -t test4/ test7/61,将test7目录下的61文件复制到test4目录下
注意,目录前不能加/,上图中test4和test7是目录
-m用于设置目标文件权限:
执行install -m 777 test7/62 test4/,表示将test7下的62文件复制到test4目录下,并赋予所有权限