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

ops/2025/3/13 1:21:36/

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


rsync_6">方法 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.iso5.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(需安装,适合脚本或自动化操作)。

http://www.ppmy.cn/ops/165278.html

相关文章

【网络安全工程】任务12:网络安全设备

目录 一、防火墙​ 1、作用​ 2、配置方式​ 3、存在的漏洞​ 二、入侵检测系统(IDS)和入侵防御系统(IPS)​ 1、作用​ 2、配置方式​ 3、存在的漏洞​ 三、防病毒网关​ ​1、作用​ 2、配置方式​ 3、存在的漏洞​ …

大模型混战:马化腾弯道超车,梁文锋破局,李彦宏开源重构,Kimi失利折戟

发布 | 大力财经 作者 | 魏力 导语,中国大模型“天时地利人和”之战:DeepSeek逆袭、腾讯后发制人与行业格局重构,Kimi后院起火,失利折戟,李彦宏开源重构。 AI 2.0时代的竞争逻辑 当前国产大模型市场格局多元&#x…

vue3中ref和reactive的区别

文章目录 一、核心机制对比二、底层实现剖析1. reactive简单实现2. ref 实现原理 三、实战场景对比1. 基本类型处理2. 对象类型处理3. 数组处理 四、高级特性差异1. 响应式丢失问题2. 类型替换场景 五、性能对比分析六、最佳实践1. 组合式函数规范2. 表单处理策略 七、特殊场景…

oracle goldengate 各版本支持的源端和目标端的数据库版本列表

# oracle goldengate 各版本支持的源端和目标端的数据库版本列表 GoldenGate Supported System Configurations| Oraclehttps://www.oracle.com/integration/goldengate/certifications/

[Web]ServletContext域(Application)

简介 Web应用的Application域的实现是通过ServletContext对象实现的。整个Web应用程序的所有资源共享这个域。生命周期与Web应用程序相同,即当前Web应用程序启动时(以服务器视角而非访客视角)出生,Web应用服务程序关闭时停止。 通…

深入浅出Bearer Token:解析工作原理及其在Vue、Uni-app与Java中的实现Demo

目录 前言1. 基本知识2. Demo3. 实战 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 1. 基本知识 Bearer Token是一种基于Token的认证机制,用于在HTTP请求中传递用户的身份信息 应用于RESTful A…

基于PyTorch的深度学习6——可视化工具Tensorboard

先安装tensorflow(CPU或GPU版)​,然后安装tensorboardX,在命令行运行以下命令即可。 pip install tensorboardX 使用tensorboardX的一般步骤如下所示。 1)导入tensorboardX,实例化SummaryWriter类,指明记…

[项目]基于FreeRTOS的STM32四轴飞行器: 四.LED控制

基于FreeRTOS的STM32四轴飞行器: 四.LED控制 一.配置Com层二.编写驱动 一.配置Com层 先在Com_Config.h中定义灯位置的枚举类型: 之后定义Led的结构体: 定义飞行器状态: 在Com_Config.c中初始化四个灯: 在Com_Config.h外部声明…