cp:复制文件或目录

【功能说明】

   cp命令可以理解为英文单词copy的缩写,其功能为复制文件或目录

【语法格式】

cp [option] [source]  [dest]
cp [选项]    [源文件]  [目标文件]

【选项说明】

参数选项 解释说明(带*的为重点)
-p 复制文件时保持文件的所有者、权限信息及时间属性
-d 如果复制的源文件是符号链接,那么仅复制符号链接本身,而且保留符号链接所指向的目标文件或目录
-r 递归复制目录,即复制目录下的所有层级的子目录及文件
-a 等同于上面的p、d、r 这3个选项功能的总和 <font color=#0099f6>*</font>
-i 覆盖已有文件前提示用户确认
-t 默认情况下命令格式是“cp 源文件 目标文件”,使用-t参数可以颠倒顺序,格式变为“cp -t 目标文件 源文件”

使用范例

1.基础范例

  • 无参数和带参数 -a 的比较
    cp:复制文件或目录

可以发现使用 -a 参数复制时,文件的时间属性没有改变,-a的参数功能包含-p参数保持文件属性的功能。

  • -i 参数的例子
    [root@tianakong test]# cp -i file1.txt  file5.txt  # <==使用-i参数复制文件,会提示是否覆盖文件
    cp: overwrite `file5.txt'? 
    [root@tianakong test]# cp file1.txt file5.txt #<== 不使用 -i 参数一样的结果,为什么呢?
    cp: overwrite `file5.txt'? 
    [root@tianakong test]# alias cp #<==原因是系统为cp命令默认设置了别名
    alias cp='cp -i'

    CentOS 系统默认为cp命令设置了别名,即增加了-i的参数。但是在Shell脚本中执行cp时,若没有-i参数,则并不会询问是否覆盖。这是因为命令行和Shell脚本执行时的环境变量不同,不过在脚本中一般使用命令的全路径。

猜你喜欢

转载自blog.51cto.com/14142782/2334293