命令:install
简介
从命令的名字上来看,会让人误以为这是一个和安装相关的命令。
其实不然,install命令用于复制文件(cp)或创建空目录(mkdir)并设置相关的属性(chown、chmod)。
这里的属性包含了ownership、权限以及时间戳(保留时间戳,而不是修改)。
语法格式
单源复制。一般省略掉-T选项。
install [OPTION]... [-T] SOURCE DEST
多源复制。一般只使用第一种。
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
创建空目录。
install [OPTION]... -d DIRECTORY...
常用选项
- -o, --owner=OWNER:设置属主。
- -g, --group=GROUP:设置属组。
- -m, --mode=MODE:设置权限。
- -p, --preserve-timestamps:保留时间戳。
- --backup[=CONTROL]:如果目标文件存在的话,复制前对其进行备份。
- -b:类似--backup,但是不会接收任何参数。
- -S, --suffix=SUFFIX:在备份时候选择对应的后缀。
选项中关于备份的,见用法示例。
用法示例
复制文件并设置ownership和权限,留意源和目标文件不同的时间戳。
[root@C7 ~]# install -o zwl -g zwl -m test.txt inst.txt
[root@C7 ~]# ls -l test.txt inst.txt
-rwxrwxrwx zwl zwl Dec : inst.txt
-rw-r--r-- root root Nov : test.txt
同上,但是保留时间戳。同时留意,目标文件已存在,可直接覆盖,不会有交互式提示。
[root@C7 ~]# install -o zwl -g zwl -m -p test.txt inst.txt
[root@C7 ~]# ls -l test.txt inst.txt
-rwxrwxrwx zwl zwl Nov : inst.txt
-rw-r--r-- root root Nov : test.txt
关于备份的话,由于这个命令用得少,因此也没有深究。
上面说了,默认情况下,目标文件如果已存在,是可以直接覆盖的。想要备份的话,可以使用-b或者--backup。
-b所创建的备份文件的文件名为“FILE~”。反复运行的话,备份文件会被反复覆盖。
# install -b test.txt inst.txt
...
-rwxrwxrwx zwl zwl Dec : inst.txt
-rwxrwxrwx zwl zwl Dec : inst.txt~
“FILE~”中的波浪号~为后缀名,可修改。
# install -S .bak -b test.txt inst.txt
...
-rwxr-xr-x root root Dec : inst.txt
-rwxr-xr-x root root Dec : inst.txt~
-rwxr-xr-x root root Dec : inst.txt.bak
--backup如果不带选项参数的话,是和-b效果一样的。如果带参数的,有一种参数叫做numbered,可简写为t,表示反复备份不会删除备份文件,而会生成数字递增式备份。
如果此前已经有使用过数字递增式备份的话,那么后续的-b和不带参数的--backup,会延续此前的数字递增式备份继续下去。
[root@C7 ~]# install --backup=numbered test.txt inst.txt
[root@C7 ~]# install --backup=numbered test.txt inst.txt
[root@C7 ~]# install --backup=t test.txt inst.txt
[root@C7 ~]# install --backup=t test.txt inst.txt
[root@C7 ~]# ls -l test.txt inst.txt*
-rwxr-xr-x root root Dec : inst.txt
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rw-r--r-- root root Nov : test.txt
[root@C7 ~]# install -b test.txt inst.txt
[root@C7 ~]# install --backup test.txt inst.txt
[root@C7 ~]# ls -l test.txt inst.txt*
-rwxr-xr-x root root Dec : inst.txt
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rwxr-xr-x root root Dec : inst.txt.~~
-rw-r--r-- root root Nov : test.txt
最后简单演示一下目录相关。
[root@C7 ~]# install -o zwl -g zwl -m -p -d instdir{,,}
[root@C7 ~]# ls -ld instdir{,,}
drwxrwxrwx zwl zwl Dec : instdir1
drwxrwxrwx zwl zwl Dec : instdir2
drwxrwxrwx zwl zwl Dec : instdir3
命令:install的更多相关文章
- NPM常用命令install 淘宝镜像 update等
NPM是随同NodeJS一起安装的包管理工具,允许用户从NPM服务器上传下载安装第三方包或命令行程序,能解决NodeJS代码部署上的很多问题,非常方便.下面我们一起来看看常用的npm命令有哪些 使用方 ...
- adb 最常用最简单的命令-install/push/pull 使用
以vivo测试机为例1.网上下载adb工具包,安装---网上有教程2.手机连接电脑后,进入手机设置--更多设置---开发者选项,打开开发者选项和USB调试: (不同手机开发者选项进入方式不同)3.打开 ...
- install命令和cp命令的区别
基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: 1.最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件 ...
- 详解linux中install命令和cp命令的区别
基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: .最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件, ...
- CentOS光盘挂载命令以及安装软件
最近又学习了一个命令:mount 挂载命令,我们在安装软件的时候,直接敲命令install 包名,但是这里其实是联网安装的, 如果使用光盘,从本地安装就要使用mount命令. 1.我的linux系统是 ...
- Install Java1.6
声明:一下内容主要来自网络,本来在此基础上根据自己的成功经验做了一些浅陋的(但有价值的)备注说明和修改. (本人也是ubuntu 11.10版本,但是是64位的,因此安装的java也是64位版本.) ...
- osgi 命令
安装命令 install reference:file:D:/workspace/workspace-osgi/MsgBoxCreateModule 根据 返回的 ID再运行start
- window环境下npm install node-sass报错
最近准备想用vue-cli初始化一个项目,需要sass-loader编译: 发现window下npm install node-sass和sass-loader一直报错, window 命令行中提示我 ...
- maven(九),install安装到本地仓库
下载oracle驱动jar包 在maven中央仓库中,是没有oracle驱动jar包的.因为oracle是商业软件,其jar包不允许用作开源用途.从http://www.mvnrepository.c ...
- 命令创建Vue
创建vue+webpack vue init webpack projectName 基础 Vue+webpack+Vux 新建文件命令 # install vue-cli npm install - ...
随机推荐
- arcgis10.2连接表xlsx格式失败
需要安装 2007 Office System 驱动程序(AccessDatabaseEngine.exe)
- 离线安装MySQL5.7
无网络环境下安装MySQL5.7 前提: 1.系统环境:CentOS 7 64bit 2.需要的rpm包已经在本地 安装: 1.下载需要的rpm包: mysql-community-client-5. ...
- yolo2详解
转自:https://blog.csdn.net/u014380165/article/details/77961414 YOLOV2要是YOLO的升级版(Better faster) Better ...
- Dubbo学习笔记9:Dubbo服务提供方启动流程源码分析
首先我们通过一个时序图,直观看下Dubbo服务提供方启动的流程: 在<Dubbo整体框架分析>一文中我们提到,服务提供方需要使用ServiceConfig API发布服务,具体是调用代码( ...
- Codeforces 662 C. Binary Table
http://codeforces.com/contest/662/problem/C 题意:n行m列01矩阵,每次可以反转一行或一列,问最后最少可以剩下多少个1 n只有20,把行状态压缩 操作奇数次 ...
- dp的进阶 (一)
熟练掌握dp的定义方法. ①四维dp的转移,生命值转移时候需要注意的 ②集合的定义,判断二进制内部是否有环 ③很难想到的背包问题 ④博弈类型的dp ⑤排列组合类型dp ⑥01背包的变种(01背包+完全 ...
- Nginx学习总结
2017年2月23日, 星期四 Nginx学习总结 Nginx是目前比较主流的HTTP反向代理服务器(其企业版提供了基于TCP层的反向代理插件),对于构建大型分布式web应用,具有举足轻重的作用.简单 ...
- ML—R常用多元统计分析包(持续更新中……)
基本的R包已经实现了传统多元统计的很多功能,然而CRNA的许多其它包提供了更深入的多元统计方法,下面要综述的包主要分为以下几个部分: 1) 多元数据可视化(Visualising multivaria ...
- A*算法改进——Any-Angle Path Planning的Theta*算法与Lazy Theta*算法
本文是该篇文章的归纳http://aigamedev.com/open/tutorial/lazy-theta-star/#Nash:07 . 传统的A*算法中,寻找出来的路径只能是沿着给出的模型(比 ...
- 解决Winsock2.h和afxsock.h定义冲突的办法
如果我们在工程中使用了afxsock.h,但在其它的地方又加了些 使用winsock2.h,哈哈,VC会告诉你一大堆错误,大意就是有定义重复,该怎么解决? 由于MFC的SOCKET类使用的是Winso ...