linux下显示进度地复制文件(cp命令的平替)

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


方法 1:使用 rsync(推荐)

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

命令

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 实时显示进度,需手动安装。

步骤

  1. 安装 pv
    sudo apt install pv
    
  2. 复制并显示进度:
    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(适合大文件)

结合 ddpv 显示进度。

命令

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

方法 4:使用 progress 工具

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

  1. 安装 progress
    sudo apt install progress
    
  2. 打开新终端窗口,运行:
    progress -M
    
  3. 在原终端执行 cp 命令:
    cp ./ubuntu-20.04.6-desktop-amd64.iso ~/Downloads/
    
    progress 会自动显示进度。

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

如果使用 Ubuntu 桌面环境:

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

总结

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

你可能感兴趣的:(Ubuntu,linux,运维,服务器,cp,rsync,可视化,进度显示)