如何在 Linux 中将文件复制到多个目录
在学习 Linux 时,新手经常需要输入多个命令才能完成简单的任务。这是可以理解的,尤其是当人们刚刚习惯使用终端时。
然而,当您希望成为 Linux 高级用户时,学习我所说的“快捷命令”可以大大减少浪费时间的倾向。
在本文中,我们将解释一种简单的方法,使用单个命令将文件复制到 Linux 中的多个目录中。
在Linux中,cp命令用于将文件从一个目录复制到另一个目录,使用它的最简单的语法如下:
# cp [options….] source(s) destination
或者,您也可以使用advanced-copy 命令,该命令在 Linux 中复制大文件/文件夹时显示进度条。
考虑下面的命令,通常,您会输入两个不同的命令将同一个文件复制到两个单独的目录中,如下所示:
# cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test # cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp
假设您要将特定文件复制到最多五个或更多目录中,这意味着您必须输入五个或更多cp 命令?
为了解决这个问题,你可以使用echo 命令、管道、xargs命令和cp命令,如下所示:
# echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh
在上面的形式中,目录的路径 (dir1,dir2,dir3…..dirN) 被回显并通过管道作为xargs命令的输入,其中:
-n 1
– 告诉 xargs 每个命令行最多使用一个参数并发送给 cp 命令。cp
– 用于复制文件。-v
– 启用详细模式以显示复制操作的详细信息。
cp
尝试阅读、echo
和命令的手册页xargs
以查找有用和高级的使用信息:
$ man cp $ man echo $ man xargs
就这些了,您可以通过下面的评论表向我们发送与主题相关的问题或任何反馈。您可能还想阅读有关进度命令的信息,该命令有助于监视当前在 Linux 中运行的命令(cp、mv、dd、tar等)的进度。