在 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 命令中,含义是:

  1. -n 1 - 告诉 xargs 命令每个命令行最多使用一个参数,并发送到 cp 命令中。

  2. cp – 用于复制文件。

  3. -v – 启用详细模式来显示更多复制细节。

在 Linux 中复制文件到多个位置中

在 Linux 中复制文件到多个位置中

试试阅读 cp、 echo 和 xargs 的 man 页面来找出所有有用和高级的用法信息:

$ man cp
$ man echo
$ man xargs


作者: Aaron Kili     原创:LCTT https://linux.cn/article-8041-1.html             译者: geekpi