欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux使用cp复制一个文件到多个目录 自己亲自做的 rm 删除 cp 复制 有大用 有大大用

linux 复制一个文件到多个目录 使用echo 、xargs 、cp


 版权声明:本文为博主原创文章,可以自由转载。 https://blog.csdn.net/u010953692/article/details/79174417

1. 复制一个文件到多个目录

echo /root/dir1 /root/dir2 /root/dir3 | xargs -n 1 cp -v /root/a.txt

# -v 可以看到复制的详细信息

好像 这里通过管道输出的东西  会作为 cp 命令的最后一个参数


来自  https://blog.csdn.net/u010953692/article/details/79174417


我自己亲自做的 复制一个文件到多个目录  有大用 


# echo /home/wwwroot/{aa,bb,cc}/public_html/templets/wap/images/index/hdp/ | xargs -n1 \cp -a index_hdp0.jpg #这是ok的


# echo /home/wwwroot/{aa,bb,cc}/public_html/templets/wap/images/index/hdp/ | xargs -d ' ' -I {} \cp -a index_hdp0.jpg {} #这个不行,是不能复制到 最后一个 cc 目录下的,为什么


由下面 cp -v 可以看到复制的信息, 最好一个 cc 复制时 多了一个 \n ,,所以不能复制到cc 这个目录下

[root@ebs-25879 ~]# echo /home/wwwroot/{aa,bb,cc}/public_html/templets/wap/images/index/hdp/ | xargs -d' '  -I {}  \cp -a -v /home/wwwroot/xx/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg {}


`/home/wwwroot/xx/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg' -> `/home/wwwroot/aa/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg'


`/home/wwwroot/xx/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg' -> `/home/wwwroot/bb/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg'


`/home/wwwroot/xx/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg' -> `/home/wwwroot/cc/public_html/templets/wap/images/index/hdp/\n'


正确的做法 是在 echo 后面加上 -n (因为,每个echo 后面都会自动加上\n 加上 -n 后就不会自动加上\n了)

[root@ebs-25879 ~]# echo -n /home/wwwroot/{wap_shrszg_com,wap_shrszg_com,wap_shrszg_com}/public_html/templets/wap/images/index/hdp/ | xargs -d' '  -I {}  \cp -a -v /home/wwwroot/wap_shrszg_cn/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg {}

`/home/wwwroot/wap_shrszg_cn/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg' -> `/home/wwwroot/wap_shrszg_com/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg'

`/home/wwwroot/wap_shrszg_cn/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg' -> `/home/wwwroot/wap_shrszg_com/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg'

`/home/wwwroot/wap_shrszg_cn/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg' -> `/home/wwwroot/wap_shrszg_com/public_html/templets/wap/images/index/hdp/index_hdp0-2020-10-26.jpg'










cp 快捷命令:复制文件到多个目录

导读在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个老手,学习我说的“快捷命令”会显著减少时间浪费。在本篇中,我们会用一个简单的方法在 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 命令中,含义是:

1.-n 1 - 告诉 xargs 命令每个命令行最多使用一个参数,并发送到 cp 命令中。
2.cp – 用于复制文件。
3.-v– 启用详细模式来显示更多复制细节。-v  (verbose)

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

$ man cp
$ man echo
$ man xargs

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


本文转载自:http://www.linuxprobe.com/copy-files-multiple-directories.html

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/





来自 https://blog.csdn.net/snow2know/article/details/55113818



linux使用cp复制文件到多个目录

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010544187/article/details/72897662

工具

  • cp

  • awk

  • find

实例

$ pwd
/home/dev/tmp/d

$ ls -R
.:
b  p-f  t-f

./p-f:
hooks

./p-f/hooks:

./t-f:
hooks

./t-f/hooks:

复制/home/dev/tmp/d/b到hooks目录下

$ find `pwd` -name "*-f" | awk "{print \$1\"/hooks\"}" | xargs -n 1 cp b

$ ls -R
.:
b  p-f  t-f

./p-f:
hooks

./p-f/hooks:
b

./t-f:
hooks

./t-f/hooks:
b


来自 https://blog.csdn.net/u010544187/article/details/72897662


普通分类: