在学习 Linux 的过程中,对于新手而言总是会使用几个命令来完成一个简单的任务。对正在熟悉使用终端的人这是很容易理解的行为。然而,如果你想要成为一个老手,学习一些“快捷命令”会显著减少时间浪费。
在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个文件夹中。
在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:
# cp [options….] source(s) destination
看下下面的命令,通常你会使用两个不同的命令来将相同的文件复制到不同的文件夹中:
# cp -v /home/xgj/bin/sys_info.sh /home/xgj/test
# cp -v /home/xgj/bin/sys_info.sh /home/xgj/tmp
假设你想要复制一个特定文件到 5 个或者更多的文件夹中,这意味着你需要输入 5 次或者更多的cp命令么?
要摆脱这个问题,你可以用 cp 命令与 echo命令、管道、xargs 命令一起使用:
# echo /home/xgj/test/ /home/xgj/tmp | xargs -n 1 cp -v /home/xgj/bin/sys_info.sh
上面的命令中,目录的路径(dir1、dir2、dir3…dirN)被管道作为输入到 xargs 命令中,含义是:
更多的 cp、 echo 和 xargs 的 man 所有有用和高级的用法信息:
$ man cp
$ man echo
$ man xargs