cp:复制文件或目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的比较
可以发现使用 -a 参数复制时,文件的时间属性没有改变,-a的参数功能包含-p参数保持文件属性的功能。
- -i 参数的例子
[[email protected] test]# cp -i file1.txt file5.txt # <==使用-i参数复制文件,会提示是否覆盖文件 cp: overwrite `file5.txt‘? [[email protected] test]# cp file1.txt file5.txt #<== 不使用 -i 参数一样的结果,为什么呢? cp: overwrite `file5.txt‘? [[email protected] test]# alias cp #<==原因是系统为cp命令默认设置了别名 alias cp=‘cp -i‘
CentOS 系统默认为cp命令设置了别名,即增加了-i的参数。但是在Shell脚本中执行cp时,若没有-i参数,则并不会询问是否覆盖。这是因为命令行和Shell脚本执行时的环境变量不同,不过在脚本中一般使用命令的全路径。
以上是关于cp:复制文件或目录的主要内容,如果未能解决你的问题,请参考以下文章