Scroll to navigation

CP(1) 用户命令 CP(1)

名称

cp - 复制文件和目录

概述

cp [选项]... [-T] 来源 目标
cp [选项]... 来源... 目录
cp [选项]... -t 目录 来源...

描述

从指定的来源文件复制到目标处,或者将多个源文件复制到目标目录中。

必选参数对长短选项同时适用。

-dR --preserve=all 相同。
不要复制文件数据,仅仅复制其属性值。
为每个已存在的目标文件创建一个备份
类似 --backup,但是不接受参数
递归模式下复制特殊文件的内容
--no-dereference --preserve=links 相同
如果有一个已存在且无法打开的目标文件,删除之并进行重试(该选项在 -n 选项同时被使用时无效)
覆写前进行提示(覆盖先前的 -n 选项)
跟随源文件命令行中显式给出的符号链接
使用硬链接取代复制
总是跟随源文件中的符号链接
不要覆写已有的文件(覆盖先前给出的 -i 选项)
永远不要跟随源文件中的符号链接
--preserve=mode,ownership,timestamps 相同
保留指定的属性(默认:模式、从属关系、时间戳),如果可能的话还有额外属性:上下文、链接(links)、xattr、all
不要保留指定的属性
在目标目录下使用完整的源文件名
递归地复制文件
控制克隆/写入时复制(CoW)副本。详情见下文
在尝试打开每个已存在的目标文件之前对其进行删除(和 --force 行为相反)
控制稀疏文件的创建。详情见下文
移除每个源文件参数后的任何末尾斜杠
使用符号链接代替复制
使用给定名称代替常用备份后缀名
将所有源文件参数给出的内容复制到目标目录中
将目标文件当作普通文件对待(而不是目录)
仅在源文件比目标文件新,或者目标文件不存在的情况下复制
解释正在发生的情况
停留在当前文件系统中
将目标文件 SELinux 安全上下文设置为默认类型
类似 -Z,或者如果给定了上下文(CTX)那么将 SELinux 或者 SMACK 安全上下文设置为给定值
显示此帮助信息并退出
显示版本信息并退出

默认情况下,程序会使用一种粗糙的启发式算法探测源文件是否是稀疏的,若判定为稀疏,则目标文件也会以稀疏形式创建。这个行为可以通过 --sparse=auto 指定。若指定 --sparse=always,将在源文件包含足够多内容为零的字节序列时将其视作稀疏文件。使用 --sparse=never 以禁止创建稀疏文件。

当指定了 --reflink[=always] 时,进行轻量级复制,其中的数据块仅在被修改时进行复制。如果这样的复制失败,或无法实行,或者指定了 --reflink=auto 时,程序将会回退到标准复制操作。使用 --reflink=never 可以确保永远进行标准复制。

备份的后缀为“~”,除非设置了 --suffix 或者 SIMPLE_BACKUP_SUFFIX。版本控制方式可以使用 --backup 选项或者 VERSION_CONTROL 环境变量进行指定。可用的值如下:

永远不制作备份(即使给出了 --backup
制作编号的备份
如果已编号副本存在则编号,否则采用简单方式
总是制作简单备份

作为一个特例,cp 将在同时给出 force 选项与 backup 选项,并且源文件和目标文件是同一个已存在普通文件的情况下制作备份副本。

作者

由 Torbjorn Granlund、David MacKenzie 和 Jim Meyering 编写。

报告错误

GNU coreutils 的在线帮助: <https://www.gnu.org/software/coreutils/>
请向 <https://translationproject.org/team/zh_CN.html> 报告翻译错误。

版权

Copyright © 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

参见

完整文档请见: <https://www.gnu.org/software/coreutils/cp>
或者在本地使用: info '(coreutils) cp invocation'

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh

2022年9月 GNU coreutils 9.1