b0227d76ff7d5fd360025c67992e7248.png

在 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

192c86f9c4f36f101eef34271c48748c.png

假设你想要复制一个特定文件到 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– 启用详细模式来显示更多复制细节。

739de78d061ac84cab5541139ed9b0c3.png

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

$ man cp

$ man echo

$ man xargs

就是这样了,你可以在下面的评论区给我们发送主题相关的问题或者反馈。你也可以阅读有关 progress 命令来帮助监控运行中的(cp、mv、dd、tar 等等)的进度。

Logo

更多推荐