如何在 Linux 中复制文件到多个目录中-阿里云开发者社区

开发者社区> 开发与运维> 正文

如何在 Linux 中复制文件到多个目录中

简介:

在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个老手,学习我说的“快捷命令”会显著减少时间浪费。

在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个文件夹中。

在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:


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

另外,你也可以使用高级复制命令,它可以在复制大的文件或文件夹时显示进度条。

看下下面的命令,通常你会使用两个不同的命令来将相同的文件复制到不同的文件夹中:


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

复制文件到多个文件夹中

复制文件到多个文件夹中

假设你想要复制一个特定文件到 5 个或者更多的文件夹中,这意味着你需要输入 5 次或者更多的cp命令么?

要摆脱这个问题,你可以用 cp 命令与 echo命令、管道、xargs 命令一起使用:


  1. # 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 页面来找出所有有用和高级的用法信息:


  1. $ man cp
  2. $ man echo
  3. $ man xargs

原文发布时间为:2017-12-17

本文来自云栖社区合作伙伴“Linux中国”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章