简介

从命令的名字上来看,会让人误以为这是一个和安装相关的命令。

其实不然,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的更多相关文章

  1. NPM常用命令install 淘宝镜像 update等

    NPM是随同NodeJS一起安装的包管理工具,允许用户从NPM服务器上传下载安装第三方包或命令行程序,能解决NodeJS代码部署上的很多问题,非常方便.下面我们一起来看看常用的npm命令有哪些 使用方 ...

  2. adb 最常用最简单的命令-install/push/pull 使用

    以vivo测试机为例1.网上下载adb工具包,安装---网上有教程2.手机连接电脑后,进入手机设置--更多设置---开发者选项,打开开发者选项和USB调试: (不同手机开发者选项进入方式不同)3.打开 ...

  3. install命令和cp命令的区别

    基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: 1.最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件 ...

  4. 详解linux中install命令和cp命令的区别

    基本上,在Makefile里会用到install,其他地方会用cp命令. 它们完成同样的任务——拷贝文件,它们之间的区别主要如下: .最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件, ...

  5. CentOS光盘挂载命令以及安装软件

    最近又学习了一个命令:mount 挂载命令,我们在安装软件的时候,直接敲命令install 包名,但是这里其实是联网安装的, 如果使用光盘,从本地安装就要使用mount命令. 1.我的linux系统是 ...

  6. Install Java1.6

    声明:一下内容主要来自网络,本来在此基础上根据自己的成功经验做了一些浅陋的(但有价值的)备注说明和修改. (本人也是ubuntu 11.10版本,但是是64位的,因此安装的java也是64位版本.) ...

  7. osgi 命令

    安装命令 install reference:file:D:/workspace/workspace-osgi/MsgBoxCreateModule 根据 返回的 ID再运行start

  8. window环境下npm install node-sass报错

    最近准备想用vue-cli初始化一个项目,需要sass-loader编译: 发现window下npm install node-sass和sass-loader一直报错, window 命令行中提示我 ...

  9. maven(九),install安装到本地仓库

    下载oracle驱动jar包 在maven中央仓库中,是没有oracle驱动jar包的.因为oracle是商业软件,其jar包不允许用作开源用途.从http://www.mvnrepository.c ...

  10. 命令创建Vue

    创建vue+webpack vue init webpack projectName 基础 Vue+webpack+Vux 新建文件命令 # install vue-cli npm install - ...

随机推荐

  1. 界面编程之QT的基本介绍与使用20180722

    /*******************************************************************************************/ 一.qt介绍 ...

  2. Kubernetes 部署 1.9.7 高可用版

    转载于https://codegreen.cn/2018/08/30/kubernetes-cluster-1.9.7/ 前言 在部署之前,首先感谢 手动搭建高可用的kubernetes 集群 博文的 ...

  3. Apache POI - Excel

    基于模板的EXCEL报表组件ExcelUtils:http://blog.csdn.net/hanqunfeng/article/details/4834875 http://blog.csdn.ne ...

  4. 使用Arraylist将数组中元素随机均等乱序分为N个子数组

    使用Arraylist将数组中元素随机均等乱序分为N个子数组 觉得有用的话,欢迎一起讨论相互学习~Follow Me 为了将数组中的元素 随机地 ,均等地, 不重复地 ,划分到N个子数组中 使用Arr ...

  5. Linux通过ssh登录其他服务器,不用输入密码

    有A(192.168.10.163)和B(192.168.10.164)两台服务器,为了使A服务器通过SSH连接B服务器时,免密登录,做以下操作. 1. 登录A(192.168.10.163)服务器( ...

  6. bzoj千题计划194:bzoj2115: [Wc2011] Xor

    http://www.lydsy.com/JudgeOnline/problem.php?id=2115 边和点可以重复经过,那最后的路径一定是从1到n的一条路径加上许多环 dfs出任意一条路径的异或 ...

  7. 求二叉树中第K层结点的个数

    一,问题描述 构建一棵二叉树(不一定是二叉查找树),求出该二叉树中第K层中的结点个数(根结点为第0层) 二,二叉树的构建 定义一个BinaryTree类来表示二叉树,二叉树BinaryTree 又是由 ...

  8. Anaconda+django写出第一个web app(十)

    今天继续学习外键的使用. 当我们有了category.series和很多tutorials时,我们查看某个tutorial,可能需要这样的路径http://127.0.0.1:8000/categor ...

  9. 洛谷 P1478 陶陶摘苹果(升级版)

    本萌新第一次发布题解,若有不严谨处请谅解. 我看了前面几位大佬的手笔,表示自己还是比较钟爱桶排序的.它非常简易直接,还省时间,尤其对于这类题目占用的的空间也很小. 我们看到题目下面的说明:xi< ...

  10. 洛谷 P1563 玩具谜题

    如果你想不耗费脑力做出这个题目,往下看: 本萌新看到这个题目,想到了乘法法则,题目中左右方向要判断两次,很耗脑力,和乘法中的正负号判断非常像. 抽象一点:这个人向内向外就是乘法中括号外的正负号,他的左 ...