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