Linux 拷贝文件的时候如何显示拷贝进度

270 阅读1分钟

Linux 使用cp命令进行文件或文件夹拷贝的时候不会显示进度和速度,当我们复制较大文件的时候无法准确预计时间,此时我们可以使用rsync命令来执行拷贝操作。

man 手册解释如下

Rsync是一个快速且非常通用的文件复制工具。它可以在本地复制,也可以通过任何远程shell从另一台主机复制,或者从远程rsync守护进程复制。它提供了大量的选项来控制其行为的各个方面,并允许非常灵活地指定要复制的文件集。它以其delta传输算法而闻名,该算法通过仅发送源文件与目标中现有文件之间的差异来减少通过网络发送的数据量。Rsync广泛用于备份和镜像,并作为日常使用的改进复制命令。

Rsync使用“快速检查”算法(默认情况下)查找需要传输的文件,该算法查找大小或上次修改时间发生变化的文件。当快速检查表明文件的数据不需要更新时,直接对目标文件进行其他保留属性的任何更改(根据选项的请求)。

使用方式

Local:
   rsync [OPTION...] SRC... [DEST]

Access via remote shell:
   Pull:
       rsync [OPTION...] [USER@]HOST:SRC... [DEST]
   Push:
       rsync [OPTION...] SRC... [USER@]HOST:DEST

Access via rsync daemon:
   Pull:
       rsync [OPTION...] [USER@]HOST::SRC... [DEST]
       rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
   Push:
       rsync [OPTION...] SRC... [USER@]HOST::DEST
       rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST)

常见的使用方式如下

resync -av --progress source target