Linux实时查看复制进度和速度的几种实现方法

 更新时间:2025年06月12日 10:24:44   作者:Tipriest_  
Linux中cp默认不显示进度,可通过rsync(带进度条,推荐)、pv(需安装,适合脚本)、dd+pv(大文件)、progress(监控进程)及图形工具实现,建议优先使用rsync--progress,需要的朋友可以参考下

在 Linux 中,默认的 cp 命令不会显示复制进度,但可以通过以下方法实时查看复制进度和速度:

方法 1:使用 rsync(推荐)

rsync 是 cp 的增强版,支持显示进度条和传输速度,大多数系统已预装。

命令

rsync -ah --progress ./ubuntu-20.04.6-desktop-amd64.iso ~/Downloads/
  • 关键参数
    • -a:归档模式,保留文件属性。
    • -h:人类可读的单位(如 MB/s)。
    • --progress:显示实时进度条。

输出示例

ubuntu-20.04.6-desktop-amd64.iso
          5.00G 100%   50.3MB/s    0:01:40 (xfr#1, to-chk=0/1)

方法 2:使用 pv(管道查看器)

通过管道工具 pv 实时显示进度,需手动安装。

步骤

  • 安装 pv
sudo apt install pv
  • 复制并显示进度:
pv ./ubuntu-20.04.6-desktop-amd64.iso > ~/Downloads/ubuntu-20.04.6-desktop-amd64.iso

cat ./ubuntu-20.04.6-desktop-amd64.iso | pv | cpio -pdm ~/Downloads/

输出示例

5.0GiB 0:01:40 [50.3MiB/s] [================================>] 100%

方法 3:使用 dd + pv(适合大文件)

结合 dd 和 pv 显示进度。

命令

dd if=./ubuntu-20.04.6-desktop-amd64.iso | pv | dd of=~/Downloads/ubuntu-20.04.6-desktop-amd64.iso

方法 4:使用 progress 工具

通过 progress 工具动态监控正在运行的 cp 进程。

  • 安装 progress
sudo apt install progress
  • 打开新终端窗口,运行:
progress -M
  • 在原终端执行 cp 命令:
cp ./ubuntu-20.04.6-desktop-amd64.iso ~/Downloads/

方法 5:图形化工具(如 GNOME 文件管理器)

如果使用 Ubuntu 桌面环境:

  • 直接通过文件管理器(Nautilus)复制文件,会自动显示进度条。
  • 右键复制粘贴时会有进度弹窗。

总结

  • 推荐方案rsync --progress(无需额外安装,功能全面)。
  • 简单替代progress 工具(监控现有 cp 进程,无需修改原命令)。
  • 实时进度条pv(需安装,适合脚本或自动化操作)。

以上就是Linux实时查看复制进度和速度的几种实现方法的详细内容,更多关于Linux查看复制进度和速度的资料请关注脚本之家其它相关文章!

相关文章

  • CentOS7.2安装MySql5.7并开启远程连接授权的教程

    CentOS7.2安装MySql5.7并开启远程连接授权的教程

    这篇文章主要介绍了CentOS7.2安装MySql5.7并开启远程连接授权的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Linux实现临时RAM登录的方法汇总

    Linux实现临时RAM登录的方法汇总

    临时 RAM 登录的核心是将用户会话或系统运行环境完全加载到内存中,确保重启后不留痕迹,以下是几种常见实现方法,包含详细配置步骤和解析,需要的朋友可以参考下
    2025-05-05
  • Linux使用Systemd设置程序开机自启动的具体教程

    Linux使用Systemd设置程序开机自启动的具体教程

    Systemd是Linux系统中的初始化系统,旨在提高启动速度和效率,它通过并行启动服务、按需加载、cgroups管理进程、自动挂载管理等方式优化启动过程,本文给大家介绍了Linux系统中使用Systemd设置程序开机自启动教程,需要的朋友可以参考下
    2025-05-05
  • Linux解压JAR包 查看class内容方式

    Linux解压JAR包 查看class内容方式

    这篇文章主要介绍了Linux解压JAR包 查看class内容方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • centos7安装mysql并jdbc测试实例详解

    centos7安装mysql并jdbc测试实例详解

    这篇文章主要介绍了centos7安装mysql并jdbc测试实例详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • VMware虚拟机中Ubuntu18.04无法连接网络的解决办法

    VMware虚拟机中Ubuntu18.04无法连接网络的解决办法

    这篇文章主要为大家详细介绍了VMware虚拟机中Ubuntu18.04无法连接网络的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 关于Linux操作系统下终端乱码的完美解决方法

    关于Linux操作系统下终端乱码的完美解决方法

    下面小编就为大家带来一篇关于Linux操作系统下终端乱码的完美解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • linux多线程编程(五)

    linux多线程编程(五)

    使用多线程的理由之一是和进程相比,它是一种非常“节俭”的多任务操作方式。我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种“昂贵”的多任务工作方式。
    2014-08-08
  • 解决VScode配置远程调试Linux程序的问题

    解决VScode配置远程调试Linux程序的问题

    这篇文章主要介绍了VScode配置远程调试Linux程序及问题解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • linux查看软件的安装位置简单方法

    linux查看软件的安装位置简单方法

    在本篇文章里小编给各位分享的是关于linux查看软件的安装位置简单方法,有兴趣的朋友们可以学习下。
    2020-03-03

最新评论