复制文件(cp 命令)
使用 cp 命令将 SourceFile 或 SourceDirectory 参数指定的文件或目录的内容副本创建到 TargetFile 或 TargetDirectory 参数指定的文件或目录中。
如果指定为 TargetFile 的文件已存在,那么副本会覆盖该文件原来的内容而不发出警告。 如果要复制多于一个的 SourceFile,那么目标必须为一个目录。
如果新的目标中已存在一个同名的文件,那么复制的文件将覆盖新目标中的文件。 因此,最好为文件的副本指定一个新名字,以确保同名的文件在目标目录中不存在。
要将 SourceFile 的副本放在一个目录中,请为 TargetDirectory 参数指定一个到现有目录的路径。 如果不在路径的尾部指定一个新文件名,那么在复制到另一目录时,文件均保持各自原有的名字不变。 如果指定 -r 或 -R 标志,那么 cp 命令还会将整个目录复制到其他目录中。
还可以使用 -R 标志复制特殊设备文件。 指定 -R 使得特殊文件在新路径名下被重新创建。 指定 -r 标志使得 cp 命令试图将特殊文件复制到常规文件。
以下是如何使用 cp 命令的示例:
- 要在当前目录下创建一个文件的副本,请输入以下命令:
这会将 prog.c 复制到 prog.bak。 如果 prog.bak 文件尚不存在,那么 cp 命令将创建该文件。 如果该文件已存在,那么 cp 命令以 prog.c 文件的副本将其替换。cp prog.c prog.bak - 要将当前目录中的一个文件复制到另一个目录,请输入以下命令:
这会将 jones 文件复制到 /home/nick/clients/jones。cp jones /home/nick/clients - 要将一个目录中的所有文件复制到一个新目录,请输入内容:
该命令仅将 clients 目录中的文件复制到 customers 目录。cp /home/janet/clients/* /home/nick/customers - 要将指定的一组文件复制到另一个目录,请输入以下命令:
该命令将当前工作目录中的 jones、lewis 和 smith 文件复制到 /home/nick/clients 目录。cp jones lewis smith /home/nick/clients - 要用模式匹配字符复制文件,请输入以下命令:
这会将 programs 目录中以 .c 结尾的文件复制到当前目录,由单个点 (.) 指示。 必须在 c 和最终点之间输入空格。cp programs/*.c .