<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Cp_%28Unix%29</id>
	<title>Cp (Unix) - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Cp_%28Unix%29"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Cp_(Unix)&amp;action=history"/>
	<updated>2026-07-14T04:45:49Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Cp_(Unix)&amp;diff=812812&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.7</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Cp_(Unix)&amp;diff=812812&amp;oldid=prev"/>
		<updated>2020-09-25T12:37:55Z</updated>

		<summary type="html">&lt;p&gt;补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.7&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{NoteTA|G1=IT}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;是一个用于复制[[计算机文件|文件]]的[[Unix|UNIX]][[命令 (计算机)|命令]]。文件可以被复制到相同目录下，也可以复制到其他完全不同的目录中（甚至复制到不同的[[文件系统]]或是[[硬盘]]中）。如果文件将被复制到相同的目录中，那么目标文件文件必须使用不同于原文件的文件名；在其他情况下，目标文件的名称允许使用与原文件相同或不同的名称。原始的文件不会被改变。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;cp&amp;#039;&amp;#039; 命令现在拥有多种实现版本，两个主要的版本是[[POSIX]] &amp;#039;&amp;#039;cp&amp;#039;&amp;#039; 与 [[GNU]] &amp;#039;&amp;#039;cp&amp;#039;&amp;#039;。 GNU &amp;#039;&amp;#039;cp&amp;#039;&amp;#039; 有许多额外的选项。&amp;lt;ref&amp;gt;{{Cite web |url=http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html#cp-invocation |title=存档副本 |accessdate=2011-07-09 |archive-date=2011-06-24 |archive-url=https://web.archive.org/web/20110624130238/http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html#cp-invocation |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 用法 ==&lt;br /&gt;
&lt;br /&gt;
将文件复制为另一文件：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cp [-f] [-H] [-i] [-p][--] 源文件 目标文件&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
将文件复制到一目录下：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cp [-f] [-H] [-i] [-p] [-r | -R] [--] 源文件 ... 目标目录&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
将目录复制为另一目录（必须使用参数 -r 或 -R）：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cp [-f] [-H] [-i] [-p] [--] { -r | -R } 源目录 ... 目标目录&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 参数 ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;-f&amp;#039;&amp;#039;&amp;#039; (强制) – 在目标文件因没有写权限而无法打开时删除目标文件。这一移除动作先于所有的cp命令复制动作。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;-L&amp;#039;&amp;#039;&amp;#039; (间接引用) – 使cp命令跟随符号链接，这样cp命令将复制符号链接指向的文件而不是符号链接到目的位置。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;-i&amp;#039;&amp;#039;&amp;#039; (交互) – 提示您将要被覆盖之文件的文件名。当目标目录或是目标文件中包含一个与原文件（或目录）名字相同的文件（或目录）时，交互就会发生，如果你输入 &amp;#039;y&amp;#039; 或者区域语言中等价于 &amp;#039;y&amp;#039;的字符，cp操作将覆盖目标文件，其余的任意回答都会避免目标文件被原文件覆盖。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;-p&amp;#039;&amp;#039;&amp;#039; (保持) – 对于每个原文件（或目录），在复制时也复制下述特性：&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;最后一次修订时间&amp;#039;&amp;#039;&amp;#039;与&amp;#039;&amp;#039;&amp;#039;最后一次访问时间&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;所属用户ID&amp;#039;&amp;#039;&amp;#039;和&amp;#039;&amp;#039;&amp;#039;所属组ID&amp;#039;&amp;#039;&amp;#039;（仅在有权限如此做时）。&lt;br /&gt;
* 文件&amp;#039;&amp;#039;&amp;#039;权限位&amp;#039;&amp;#039;&amp;#039;以及&amp;#039;&amp;#039;&amp;#039;[[Setuid|SUID]]&amp;#039;&amp;#039;&amp;#039;和&amp;#039;&amp;#039;&amp;#039;[[Setuid|SGID]]&amp;#039;&amp;#039;&amp;#039;权限位。&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;-R&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;-r&amp;#039;&amp;#039;&amp;#039; (递归) – 复制目录（递归地复制目录中的所有内容）&lt;br /&gt;
&lt;br /&gt;
== 范例 ==&lt;br /&gt;
&lt;br /&gt;
欲复制原文件的一份副本，执行：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
     cp prog.c prog.bak&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
这一操作把文件prog.c复制为prog.bak。如果prog.bak文件不存在，cp命令将创建此文件。如果目标文件已存在，cp命令将用原文件的内容替代目标文件中的内容。&lt;br /&gt;
&lt;br /&gt;
欲复制当前工作目录中的文件到另外一目录中，执行：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
     cp jones /home/nick/clients&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
这一操作将 jones 文件复制到 /home/nick/clients/jones。&lt;br /&gt;
&lt;br /&gt;
欲将文件复制为新的文件，并保留修改日期与相关的访问控制权限，执行：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
     cp -p smith smith.jr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
操作将smith文件复制为smith.jr文件。此时系统将给与smith.jr与smith文件相同的修改日期和时间而并不使用当前的系统时间。smith.jr文件同时也继承了smith文件的访问控制保护。&lt;br /&gt;
&lt;br /&gt;
欲将某目录中所有文件复制到新目录中，执行：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
     cp /home/janet/clients/* /home/nick/customers&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
这一操作仅将clients目录中的文件复制到customers目录中。&lt;br /&gt;
&lt;br /&gt;
欲将一个目录，包括其包含的所有文件与子目录复制到另一目录中，执行：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
     cp -R /home/nick/clients /home/nick/customers&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
这一复制将clients目录以及其中包含的所有文件、子目录与子目录中的文件复制到customers/clients目录下。&lt;br /&gt;
注意在原目录的结尾无斜杠符：如果你在GNU基础的系统上执行&amp;lt;code&amp;gt;cp -R /home/nick/clients/ /home/nick/customers&amp;lt;/code&amp;gt;，这与原目录没有加结尾斜杠符的效果相同。 &lt;br /&gt;
但如果你在BSD基础系统上执行相同的命令，这将复制所有client目录中的&amp;#039;&amp;#039;内容&amp;#039;&amp;#039;，而不是client目录本身。&lt;br /&gt;
&lt;br /&gt;
欲将复制指定的一些文件到另一目录中，执行：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
     cp jones lewis smith /home/nick/clients&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
这一操作复制当前工作目录下的 jones、lewis和smith 文件到  /home/nick/clients 目录。&lt;br /&gt;
&lt;br /&gt;
欲使用模式匹配字符集来复制文件，执行：&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
     cp programs/*.c .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
这一操作将programs目录下所有以 .c 结尾的文件都复制到当前目录下，当前目录用单个点符号 &amp;#039;&amp;#039;.&amp;#039;&amp;#039; 表示。在 &amp;#039;&amp;#039;.c&amp;#039;&amp;#039; 和最后的 &amp;#039;&amp;#039;.&amp;#039;&amp;#039; 之间必须用空格隔开。&lt;br /&gt;
&lt;br /&gt;
将文件复制到另一已存在文件的过程是：将已存在文件以更新模式打开（使用这一模式需要拥有目标文件的写入权限）。操作的结果是目标文件保留了其原来拥有的权限位。&lt;br /&gt;
&lt;br /&gt;
== 相关 Unix 命令 ==&lt;br /&gt;
&lt;br /&gt;
* [[cpio]] – 复制完整的目录结构到其他文件系统位置&lt;br /&gt;
* [[tar (计算机科学)|tar]] – 建立文件归档&lt;br /&gt;
* [[link (Unix)|link]] – 建立文件或目录的链接的系统调用&lt;br /&gt;
* [[ln (Unix)|ln]] – 建立文件或目录的链接文件&lt;br /&gt;
* [[mv (Unix)|mv]] – 移动文件或目录&lt;br /&gt;
* [[Rm (Unix)|rm]] – 移除文件或目录&lt;br /&gt;
* [[unlink (Unix)|unlink]] – 删除文件或目录的系统调用&lt;br /&gt;
* [[chmod]] – 修改文件或目录的权限位&lt;br /&gt;
* [[chown]] – 修改文件或目录的隶属关系&lt;br /&gt;
* [[chgrp]] – 修改文件或目录的所属组&lt;br /&gt;
* [[uUCP|uucp]] – UNIX间复制协议&lt;br /&gt;
* [[Secure copy|scp]] – 通过SSH隧道安全复制&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
* [[Unix工具列表]]&lt;br /&gt;
&lt;br /&gt;
== 参考来源 ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
{{Unix commands}}&lt;br /&gt;
&lt;br /&gt;
[[Category:标准Unix程序]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>