> or (cd $1; find . -print | cpio -o .) | (cd $2; cpio -idu) Better still, cd $1; find . -print -depth | cpio -pdu $2 If links are preferable, add the "l" flag to the cpio options.