Linux中的Cp命令(复制文件)

在Linux和Unix系统上工作时,复制文件和目录是您每天将执行的最常见任务之一。

cp 是用于在Unix和Linux系统上复制文件和目录的命令行实用程序。

在本文中,我们将说明如何使用 cp 命令。

如何使用 cp 命令#

的一般语法 cp 命令如下:

cp [OPTIONS] SOURCE... DESTINATION

SOURCE 可以包含一个或多个文件或目录作为参数,并且 DESTINATION 参数可以是单个文件或目录。

  • 当。。。的时候 SOURCEDESTINATION 参数都是文件, cp 命令将第一个文件复制到第二个文件。 如果该文件不存在,则命令将创建它。
  • 当。。。的时候 SOURCE 有多个文件或目录作为参数, DESTINATION 参数必须是目录。 在这种情况下, SOURCE 文件和目录已移至 DESTINATION 目录。
  • 当。。。的时候 SOURCEDESTINATION 参数都是目录, cp 命令将第一个目录复制到第二个目录。

要复制文件和目录,您必须至少具有对源文件的读取权限和对目标目录的写入权限。 否则,将显示权限被拒绝错误。

使用cp命令复制文件

最基本的使用场景 cp 是在当前工作目录中复制文件。 例如,复制一个名为 file.txtfile_backup.txt 您伤口运行以下命令:

cp file file_backup

要么

cp file{,_backup}

要将文件复制到另一个目录,请指定目标目录的绝对或相对路径。

如果仅将目录名称指定为目标,则复制的文件将具有与原始文件相同的名称。

在以下示例中,我们正在复制文件 file.txt/backup 目录:

cp file.txt /backup

如果要使用其他名称复制文件,则需要指定所需的文件名。 下面的命令会将文件复制为指定的目录,如下所示: new_file.txt

cp file.txt /backup/new_file.txt

默认情况下,如果目标文件存在,它将被覆盖。 的 -n 选项告诉 cp 不覆盖现有文件。

强迫 cp 提示确认,请使用 -i 选项。

cp -i file.txt file_backup.txt

如果仅当文件比目标文件新时才想复制文件,请使用 -u 选项:

cp -u file.txt file_backup.txt

复制文件时,新文件归运行命令的用户所有。 使用 -p 保留文件模式,所有权和时间戳的选项:

cp -p file.txt file_backup.txt

另一个有用的选择是 -v,这说明 cp 打印详细输出:

cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'

使用cp命令复制目录

要复制目录(包括其所有文件和子目录),请使用 -R 要么 -r 选项。

在下面的示例中,我们正在复制目录 PicturesPictures_backup

cp -R Pictures Pictures_backup

上面的命令创建目标目录,并将所有文件和子目录从源递归复制到目标目录。

如果目标目录已经存在,则源目录本身及其所有内容都将复制到目标目录中。

要仅复制文件和子目录而不复制源目录,请使用 -T 选项:

cp -RT Pictures Pictures_backup

仅复制目录内容而不复制目录本身的另一种方法是使用通配符(*)。 以下命令的缺点是它不会复制隐藏的文件和目录(以点开头的文件和目录)。 .):

cp -RT Pictures/* Pictures_backup/

复制文件时,我们在上一节中使用的所有选项也可以在复制目录时使用。 主要区别在于复制目录时。 您总是需要使用 -R 选项。

复制多个文件和目录

要一次复制多个文件和目录,请指定它们的名称,并将目标目录用作最后一个参数:

cp file.txt dir file1.txt  dir1

复制多个文件时,目标位置必须是目录。

结论#

使用复制文件和目录 cp 命令是一个简单的任务。 有关所有可用信息 cp 选项,类型 man cp 在您的终端中。

要通过网络复制文件,请使用 rsyncscp 实用程序。

如果您有任何疑问或反馈,请随时发表评论。

cp终端

Sidebar