Is rsync really bidirectional or more unidirectional?
No, rsync
only ever syncs files in one direction. Think of it as a smart and more capable version of cp
(or mv
if you use the --remove-source-files
option): smart in the sense that it tries to skip data which already exists at the destination, and capable in the sense that it can do a few things cp
doesn't, such as removing files at the destination which have been deleted at the source. But at its core, it really just does the same thing, copying from a source to a destination.
As Patrick mentioned in a comment, unison will do what you're looking for, updating in both directions. It's not a standard tool, though - many UNIX-like systems will have rsync
installed, but usually not unison
. But on a Linux distribution you can probably find it in your package manager.