cp - 复制文件和目录
概要
cp [选项]... [-T] 源 目标
cp [选项]... 源... 目录
cp [选项]... -t 目录 源...
描述
将源复制到目标,或将多个源复制到目录。
长选项的必需参数,短选项也必须是必需的。
-a, --archive
与 -dR --preserve=all 相同
--attributes-only
不复制文件数据,只复制属性
--backup[=控制]
为每个现有的目标文件创建备份
-b 与 --backup 类似,但不接受参数
--copy-contents
递归时复制特殊文件的内容
-d 与 --no-dereference --preserve=links 相同
--debug
解释如何复制文件。 隐含 -v
-f, --force
如果现有的目标文件无法打开,则删除它并重试(如果同时使用 -n 选项,则忽略此选项)
-i, --interactive
在覆盖之前提示(覆盖以前的 -n 选项)
-H 在源中跟随命令行中的符号链接
-l, --link
使用硬链接文件而不是复制
-L, --dereference
始终在源中跟随符号链接
-n, --no-clobber
(已弃用)静默跳过现有文件。 另请参阅 --update
-P, --no-dereference
在源中从不跟随符号链接
-p 与 --preserve=mode,ownership,timestamps 相同
--preserve[=ATTR_LIST]
保留指定的属性
--no-preserve=ATTR_LIST
不保留指定的属性
--parents
在目录中使用完整的文件名
-R, -r, --recursive
递归复制目录
--reflink[=WHEN]
控制克隆/写时复制。 参见下文
--remove-destination
在尝试打开目标文件之前,删除每个现有的目标文件(与 --force 相对)
--sparse=WHEN
控制创建稀疏文件。 参见下文
--strip-trailing-slashes
删除每个源参数中的任何尾随斜杠
-s, --symbolic-link
创建符号链接而不是复制
-S, --suffix=后缀
覆盖通常的备份后缀
-t, --target-directory=目录
将所有源参数复制到目录中
-T, --no-target-directory
将目标视为普通文件
--update[=UPDATE]
控制更新哪些现有文件;UPDATE={all,none,none-fail,older(默认)}
-u 等效于 --update[=older]。 参见下文
-v, --verbose
解释正在执行的操作
--keep-directory-symlink
跟随现有的目录符号链接
-x, --one-file-system
保持在当前文件系统
-Z 将目标文件的 SELinux 安全上下文设置为默认类型
--context[=CTX]
与 -Z 类似,或者如果指定了 CTX,则将 SELinux 或 SMACK 安全上下文设置为 CTX
--help 显示此帮助并退出
--version
输出版本信息并退出
ATTR_LIST 是一个逗号分隔的属性列表。 属性包括:'mode' 表示权限(包括任何 ACL 和 xattr 权限),'ownership' 表示用户和组,'timestamps' 表示文件时间戳,'links' 表示硬链接,'context' 表示安全上下文,'xattr' 表示扩展属性, 以及 'all' 表示所有属性。
默认情况下,通过一个简单的启发式方法检测稀疏的 SOURCE 文件,并相应地使相应的 DEST 文件也变为稀疏。这是通过 --sparse=auto 选项选择的行为。指定 --sparse=always 以在 SOURCE 文件包含足够长的零字节序列时,始终创建一个稀疏的 DEST 文件。使用 --sparse=never 以禁止创建稀疏文件。
UPDATE 控制目标位置中的哪些现有文件会被替换。如果未指定 --update 选项,则默认操作为 'all',结果是目标位置中的所有现有文件都将被替换。'none' 类似于 --no-clobber 选项,即目标位置中的任何文件都不会被替换,并且跳过的文件不会导致失败。'none-fail' 也确保目标位置中的任何文件都不会被替换,但任何跳过的文件都会被诊断并导致失败。'older' 是指定了 --update 选项时的默认操作,结果是如果文件比相应的源文件旧,则文件将被替换。
当指定 --reflink[=always] 时,执行轻量级复制,其中仅在修改时才复制数据块。如果这是不可能的,则复制失败,或者如果指定了 --reflink=auto,则回退到标准复制。使用 --reflink=never 以确保执行标准复制。
备份后缀为 '\~',除非通过 --suffix 或 SIMPLE_BACKUP_SUFFIX 设置。可以通过 --backup 选项或通过 VERSION_CONTROL 环境变量选择版本控制方法。以下是值:
^ one, off
永远不创建备份(即使提供了 --backup)。
^ umbered, t
创建编号备份。
^ xisting, nil
如果存在编号备份,则创建编号备份,否则创建简单备份。
^ imple, never
始终创建简单备份。
作为一种特殊情况,当提供了 --force 和 --backup 选项,并且 SOURCE 和 DEST 具有相同的名称以表示一个现有的常规文件时,cp 会对 SOURCE 进行备份。
AUTHOR
作者:Torbjorn Granlund、David MacKenzie 和 Jim Meyering。
REPORTING BUGS
GNU coreutils 在线帮助:[https://www.gnu.org/software/coreutils/] 将任何翻译错误报告到:[https://translationproject.org/team/]
SEE ALSO
install(1)
完整文档 [https://www.gnu.org/software/coreutils/cp] 或者可以在本地通过以下方式获取:info '(coreutils) cp invocation'
由 Debian (9.7-3) 封装 版权所有 © 2025 自由软件基金会,公司。 许可 GPLv3+:GNU GPL 版本 3 或更高版本 [https://gnu.org/licenses/gpl.html]。 这是一个自由软件:您可以自由地修改和重新分发它。 在法律允许的范围内,不提供任何保证。