linuxcopy命令进度
linuxcopy命令进度详细介绍
在 Linux 中,原生的 cp 命令本身不直接支持显示复制进度。如果需要查看复制进度,可以通过以下几种替代方法实现:
方法一:使用
rsync 命令(推荐,简单高效)
rsync 命令支持显示进度,且功能与 cp 类似,常用于复制文件 / 目录。
命令格式:
bash
源文件/目录 目标路径
-a:归档模式(保留权限、时间等属性)-v:显示详细信息-h:以人类可读的格式显示文件大小--progress:显示传输进度
示例:
bash
/path/source.file /path/destination/
方法二:使用
pv 工具(需安装)
pv(Pipe Viewer)可以监控管道数据的传输进度,需先安装:
安装命令(不同系统可能需要调整):
bash
yum
dnf
使用方法:
bash
源文件 目标路径
- 源目录 - 目标路径
-t:显示时间-p:显示进度条-r:显示速率-e:显示预估剩余时间
方法三:通过脚本实时查看复制进度(无需额外工具)
利用 ls 和 du 命令实时监控目标文件的大小变化,判断复制进度。
脚本示例(保存为 cp-progress.sh 并执行):
bash
>/dev/null
$dst \r"
复制完成!"
- 执行:
./cp-progress.sh 源文件 目标路径 - 缺点:仅显示目标文件当前大小,不精确显示百分比。
方法四:使用
dd 命令结合
pv(适用于块设备或大文件)
如果复制的是磁盘镜像等大文件,可通过 dd 配合 pv 显示进度:
bash
源文件 目标文件 源文件
-s:指定总大小,使进度条更准确。
总结
- 最简单的方法:直接使用
rsync --progress,无需额外工具(系统一般默认安装)。 - 功能最完整:安装
pv工具,支持实时进度条和速率显示。 - 临时方案:通过脚本或
dd+pv监控大文件复制。
根据实际场景选择合适的方法即可。如果需要和 cp 完全一致的行为(如权限、属性保留),rsync -a 能满足需求;若追求可视化进度,pv 是更好的选择。