When only rsync will do .. or maybe not

Cyrille Lefevre cyrille.lefevre-lists@laposte.net
Fri Oct 14 13:36:20 GMT 2022

Le 12/10/2022 à 12:55, Fergus Daly a écrit :
> Requirement: to move some selected files and folders under /folder1/ to /folder2/, preserving full pathnames.
> Using cp with the switch --parents (taking care over syntax and importantly location $PWD) it is possible to _copy_ the
> Required content across from /folder1/ to /folder2/ but there does not seem to be a matching switch for mv that would
> achieve the same purpose.
> One solution would be (i) to copy the required content to /folder2/ and then (ii) delete the identical content under /folder1/;
> but this is expensive (one might not even have the disk space to do it) and it seems seriously unsatisfactory and not without risk
> to have to copy folders and files (possibly huge) when all one wants to do is to change the {pathname} to them.
> Question 1
> Would the command (or something like it, again with care over syntax and $PWD)
> $ rsync -axuv --progress {pathto}/folder1/{content} {pathto}/folder2/
> do the trick? Or is the very existence of the switch
> $ rsync -axuv --remove-source-files --progress {pathto}/folder1/{content} {pathto}/folder2/
> indicative that here too the "move" is achieved through a two-stage "copy-then-delete" operation?
> Question 2
> If rsync can provide a genuine "move" capability then is installing the rsync package adequate to the purpose;
> or would librsync-devel and/or librsync2 packages need to be installed also?
> Question 3
> If not rsync, is there any operation for which "move" can be achieved without involving "copy-then-delete"?
> Thank you for any assistance.


how about find /source | cpio -pdml /target
alternative, cp -alu --parent /source /target
then purge /source



More information about the Cygwin mailing list