cp 和 rsync 区别
cp 命令不支持显示进度,改用 rsync
功能定位
- cp:基础文件复制工具,仅将文件或目录完整复制到目标位置,无论源文件是否已存在于目标位置。
- rsync:增量同步工具,通过比较源和目标文件的差异,仅传输修改或新增的部分,适用于频繁更新或大文件场景。
传输效率
- cp:每次执行均完整复制所有文件,资源消耗较高,尤其对大目录或重复复制场景效率低。
- rsync:仅传输变化部分,节省带宽和时间,支持断点续传(-P参数),适合网络传输或备份任务。
使用场景
cp:适合单次本地快速复制小文件或简单目录,无需复杂配置。
rsync:
- 本地或远程增量同步(如 user@host:/path 格式);
- 定期备份、镜像服务器、大文件传输等需高效处理的场景。
附加功能
- cp -a 可保留权限、时间戳等属性;
- rsync -a 默认保留属性,且支持更多元数据(如符号链接、设备文件)。
远程支持
- cp:仅限本地操作,远程复制需依赖 scp 或 rsync。
- rsync:原生支持远程路径,可通过 SSH 加密传输(如 -e ssh)。
复制命令
rsync 复制目录并显示进度
|
|
-a
:归档模式,保留文件权限、时间戳等属性,并递归复制子目录(包含 -r 功能)-v
:显示详细传输过程。-h
:以人类可读格式(如 KB、MB)显示文件大小。-P
:等价于--partial
--progress
,显示每个文件的传输进度(百分比、速度、剩余时间),并支持断点续传。
cp 命令复制目录
|
|