rsync is the Linux utility used for copying files while supporting efficient resumption of interrupted transfers. It synchronizes files and directories between locations, locally or across a network, by comparing source and destination data and transferring only what needs to change.
Its signature feature is the rsync algorithm, which can divide files into blocks and send only changed portions instead of retransmitting an entire file. This is particularly useful for backups, deployments, mirrors, and large transfers over slower links. When a transfer is interrupted, options such as --partial preserve an incomplete destination file so a later run can continue more efficiently; --append and --append-verify are useful for certain growing or partially transferred files.
The command can copy locally or use a remote shell such as SSH. A typical remote synchronization uses a command like rsync -a source/ user@host:/path/. The trailing slash matters: it changes whether rsync copies the directory itself or only its contents.
scp and cp can copy files, but they do not provide rsync’s general delta synchronization workflow. wget is primarily a downloader. rsync’s resume behavior depends on its options and transfer conditions, so “can resume” does not mean every default invocation automatically preserves partial data.