因为我是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?
答案 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/ \;