对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个老手,学习我说的 “快捷命令” 会显著减少时间浪费。
在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个资料夹中。
在 Linux 中,cp 命令常被用于从一个资料夹中复制档案到另一个资料夹中,最简单的语法如下:

# cp [options….] source(s) destination

另外,你也可以使用高阶复制命令,它可以在复制大的档案或资料夹时显示进度条。
看下下面的命令,通常你会使用两个不同的命令来将相同的档案复制到不同的资料夹中:

# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp

复制档案到多个资料夹中
假设你想要复制一个特定档案到 5 个或者更多的资料夹中,这意味著你需要输入 5 次或者更多的 cp 命令么?
要摆脱这个问题,你可以用 cp 命令与 echo 命令、管道、 xargs 命令一起使用:

# echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

上面的命令中,目录的路径(dir1 、 dir2 、 dir3…dirN)被管道作为输入到 xargs 命令中,含义是:

-n 1 – 告诉 xargs 命令每个命令列最多使用一个引数,并传送到 cp 命令中。
cp – 用于复制档案。
-v – 启用详细模式来显示更多复制细节。

在 Linux 中复制档案到多个位置中
试试阅读 cp 、 echo 和 xargs 的 man 页面来找出所有有用和高阶的用法资讯:

$ man cp
$ man echo
$ man xargs