cp命令是Linux中的常用命令之一,用来复制目录或文件。
cp用来复制目录或文件,是Linux常用命令之一。
命令名称
cp
命令原意
copy
所在路径
/bin/cp
执行权限
所有用户
命令格式
cp [选项] 原文件或目录 [目标目录]
功能描述
复制文件或目录
命令选项
-a --archive:等于-dR --preserve=all
--backup[=CONTROL]为每个已存在的目标文件创建备份
-b:类似--backup 但不接受参数--copy-contents在递归处理是复制特殊文件内容
-d:等于--no-dereference --preserve=links
-f, --force:如果目标文件无法打开则将其移除并重试(当 -n 选项存在时则不需再选此项)
-i --interactive:覆盖前询问(使前面的 -n 选项失效)
-H:跟随源文件中的命令行符号链接
-l, --link:链接文件而不复制
-L, --dereference:总是跟随符号链接
-n, --no-clobber:不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference:不跟随源文件中的符号链接
-p:等于--preserve=模式,所有权,时间戳--preserve[=属性列表保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr 等
-c same as --preserve=context
--sno-preserve=属性列表不保留指定的文件属性
--parents:复制前在目标目录创建来源文件路径中的所有目录
-R, -r, --recursive:递归复制目录及其子目录内的所有内容
--reflink[=WHEN]:控制克隆/CoW 副本。请查看下面的内如。
--remove-destination尝试打开目标文件前先删除已存在的目的地文件 (相对于 --force 选项)
--sparse=WHEN:控制创建稀疏文件的方式
--strip-trailing-slashes:删除参数中所有源文件/目录末端的斜杠
-s, --symbolic-link:只创建符号链接而不复制文件
-S, --suffix=后缀自行指定备份文件的后缀
-t, --target-directory=目录将所有参数指定的源文件/目录复制至目标目录
-T, --no-target-directory:将目标目录视作普通文件
-u, --update:若 destination 比 source 旧才更新 destination
--help:显示此帮助信息并退出
--version:显示版本信息并退出
命令实例
1、cp postcha.com.txt /tmp,复制文件到指定目录
2、cp postcha.com.txt /tmp/postcha.txt,复制文件到指定目录并重命名文件
3、cp -p postcha.com.txt /tmp,复制文件到指定目录,并且一并复制文件属性。
大家可以发现,复制过去后的文件修改时间还是和原来的一样。如果不加-p参数,文件修改时间就会变成复制过去后的时间。这在一些场合是非常有用的,如我要备份一下日志,如果不加-p,那文件的时间就变成了最后复制时候的时间了。
4、cp -r postcha /tmp,复制目录