如何使用一个Linux命令将文件复制到多个目录

无论使用命令行还是图形方法,在Linux OS上复制文件都很容易。但是,某些用户更喜欢命令行执行几乎所有任务。命令行不仅提供了一种简单快速的方法来执行任务,还提供了更多功能。 Cp是一种Linux命令,用于将文件从一个位置复制到另一个位置。但是,如果您需要将文件复制到多个位置怎么办?有一种方法可以向您展示如何在Linux上执行此操作。

本文描述的命令和过程已在Debian 10 OS上运行,但将在其他Linux发行版上运行。

首先,让我们看看如何使用cp命令将文件从一个位置复制到另一个位置。使用cp命令复制文件的一般语法为:

$ cp ~[/location/sourcefile] ~[/destinationfolder]

对于此示例,将testfile1从Documents目录复制到Downloads目录。为此,我在终端中运行了以下命令:

$ cp ~/Documents/testfile1 ~/Downloads/

如果需要将文件复制到多个位置,则必须多次运行该命令。例如,以下示例将testfile1从文档复制到两个不同的位置(下载和桌面)。为此,您需要在终端中运行两次cp命令。

$ cp ~/Documents/testfile1 ~/Downloads/

$ cp ~/Documents/testfile1 ~/Desktop/

复制两个文件

使用echo命令将文件复制到多个位置

您可以使用cp命令将文件复制到两个位置,但是假设您需要将文件复制到四个,五个或更多位置。在这种情况下,还有另一种使用echo命令的解决方案。命令语法如下:

$ echo [destination1] [destination2] [destiantion3]..... | xargs -n 1 cp [/location/sourcefile]

echo命令通常在外壳脚本中使用,以打印消息或打印到屏幕。但是,在此示例中,它用于通过|将输出发送到xargs命令。符号xargs将从echo命令获取输入三遍,并执行cp三遍,以将测试文件复制到三个不同的位置。上面命令中的n标志告诉cp命令一次接受一个参数。

请注意,此命令将覆盖目标目录中具有相同名称的现有文件。因此,我们建议您备份重要文件。

下面的示例使用此命令将testfile1从Documents目录复制到三个不同的目录:桌面目录,下载目录和音乐目录。为此,我运行了以下命令:

$ $ echo [~/Desktop] [~/Downloads] [~/Music] | xargs -n 1 cp [/location/sourcefile]

将文件复制到多个位置

就是这样!现在,您已经了解了如何使用一个命令将文件复制到多个目录。因此,您不必编写多个命令即可执行将文件复制到多个位置的最简单的任务。

如何使用一个Linux命令将文件复制到多个目录

Sidebar