解释rsync命令

时间:2014-04-03 12:06:07

标签: linux terminal rsync

因为我是rsync的新手,所以我在服务器的某个地方遇到了这段代码并决定尝试一下。这是一个干运行,但这条线路中有一些我不理解的部分。

如果我的解释错误,请纠正我:x

find -name "*.jpg" | xargs -I icon sudo rsync -azuvhE -n icon tango:/jobs/prime/Item/icon

首先,我理解find -name "*.jpg"的第一部分,它正在寻找所述目录中的任何.jpg文件。

但是我不理解|xargs -I icon的含义。对于后一部分,我认为它就像将icon定义为变量一样?

然后至于最后一部分,因为我正在两个服务器(我目前正在使用的alphis)和探戈之间进行引用,我认为它正在引用tango / jobs / prime / Item / icon?

1 个答案:

答案 0 :(得分:2)

   find -name "*.jpg" | \     # find jpeg files (assume no white space)
          xargs -I icon \     # get file names from find, call them icon
          sudo rsync -azuvhE -n icon # copy each file to ....
          tango:/jobs/prime/Item/icon # this folder on tango

这应该是一个等效的命令:

sudo find -name "*.jpg" -exec rsync -azuvhE -n {} tango:/jobs/prime/Item/ \;