当前位置: 首页 > news >正文

运维必备神器:Linux pv 命令详解(大文件进度条神器)

文章目录

  • 运维必备神器:Linux pv 命令详解(大文件进度条神器)
  • 什么是 pv
  • 安装 pv
    • CentOS / Rocky / AlmaLinux
    • Ubuntu / Debian
  • pv 基本使用
  • MySQL 导入大 SQL 文件(运维最常用)
  • 指定文件大小(进度更准确)
  • 常用参数
  • 限制传输速度
  • pv 在运维中的常见应用
    • 1、MySQL 备份显示进度
    • 2、复制大文件
    • 3、压缩文件显示进度
    • 4、解压文件显示进度
    • 5、服务器之间传输文件
  • 运维最佳实践
  • 总结

运维必备神器:Linux pv 命令详解(大文件进度条神器)

在 Linux 运维工作中,我们经常会遇到这样的场景:

  • 导入10GB+ 的 MySQL SQL 文件
  • 备份数据库
  • 压缩或解压几十 GB 的数据
  • 服务器之间传输大文件
  • 复制超大文件

但这些操作有一个非常痛苦的问题:

没有进度条,不知道执行到哪里了

例如导入 SQL:

mysql-uroot-pdb<dump.sql

如果dump.sql20GB,终端可能会卡几十分钟甚至几个小时

你只能干等着。

这时候就需要一个 Linux 运维神器:

pv(Pipe Viewer)

它可以在 Linux 管道中实时显示数据传输进度、速度、剩余时间

用过一次之后,基本就离不开了。


什么是 pv

pv全称:

Pipe Viewer

它的作用是:

在 Linux 管道中显示数据传输进度。

简单理解:

pv=命令行进度条工具

运行时会显示:

  • 进度条
  • 已传输数据量
  • 当前速度
  • 平均速度
  • 已用时间
  • 剩余时间

例如:

4.5GB 0:02:11 [34MB/s] [======> ] 25% ETA 2:31:54

含义:

信息说明
4.5GB已处理数据
0:02:11已用时间
34MB/s当前速度
25%完成进度
ETA 2:31:54预计完成时间

安装 pv

大多数 Linux 系统都可以直接安装。

CentOS / Rocky / AlmaLinux

yuminstallpv-y

Ubuntu / Debian

aptinstallpv-y

安装完成后验证:

pv--version

pv 基本使用

最简单用法:

pvfile

示例:

pvtest.txt

输出:

1.20MB 0:00:01 [1.18MB/s] [=====> ] 40% ETA 2:31:54

MySQL 导入大 SQL 文件(运维最常用)

在实际工作中,经常会遇到大 SQL 文件导入

例如:

mysql-uroot-pdbname<dump.sql

如果 SQL 文件有10GB、20GB,完全看不到进度。

使用pv

pvdump.sql|mysql-uroot-pdbname

示例:

pvtest.sql|mysql-uroot-ptest

导入时会显示:

3.2GB 0:01:45 [32MB/s] [=====> ] 18%

可以实时看到:

  • 导入进度
  • 当前速度
  • 剩余时间

对于运维来说非常实用。


指定文件大小(进度更准确)

如果提前知道文件大小,可以使用-s参数:

pv-s10G test.sql|mysql-uroot-ptest

参数说明:

参数说明
-s指定文件总大小

这样pv可以更准确计算进度。


常用参数

运维常用参数:

pv-petraffile

参数含义:

参数含义
-p显示进度条
-e显示剩余时间
-t显示已用时间
-r显示当前速度
-a显示平均速度
-f强制输出

例如:

pv-petrafdump.sql|mysql-uroot-pdb

限制传输速度

pv还可以限制带宽

例如限制10MB/s

pv-L10m bigfile>/data/bigfile

参数说明:

参数说明
-L限制速度

适用场景:

  • 防止占满服务器 IO
  • 防止占满网络带宽
  • 数据迁移

pv 在运维中的常见应用

1、MySQL 备份显示进度

普通备份:

mysqldump-uroot-pdb>dump.sql

使用 pv:

mysqldump-uroot-pdb|pv>dump.sql

2、复制大文件

普通复制:

cpbigfile /data/

使用 pv:

pvbigfile>/data/bigfile

3、压缩文件显示进度

tarcf - data|pv|gzip>data.tar.gz

4、解压文件显示进度

pvdata.tar.gz|tarzxvf -

5、服务器之间传输文件

pvbackup.sql|sshroot@192.168.1.10"cat > backup.sql"

可以实时看到网络传输速度


运维最佳实践

在生产环境导入大 SQL 文件,我通常这样使用:

pv-petrafdump.sql|mysql-uroot-p'password'--max_allowed_packet=1G dbname

优点:

  • 可以看到导入进度
  • 更稳定
  • 适合 10GB+ SQL 文件

总结

pv是一个非常小但非常实用的 Linux 工具。

优点:

  • 显示数据传输进度
  • 查看实时速度
  • 估算剩余时间
  • 支持带宽限制
  • 使用简单

对于需要处理大文件、数据库备份、数据迁移的场景来说,是一个非常值得掌握的工具。


http://www.jsqmd.com/news/488248/

相关文章:

  • 【2026开发者生存预警】:VSCode跨端调试不再兼容旧插件——3类项目必须在Q2前完成迁移
  • 5个维度解析Lightpanda:轻量级高效无头浏览器的技术实践与价值
  • MusePublic-SDXL实战教程:生成可商用的CC0协议艺术素材方法
  • Z-Image-Turbo极速创作室新手指南:避开这些坑,快速出好图
  • AI智慧高光谱遥感实战-暨手撕99个案例项目、全覆盖技术链与应用场景一站式提升方案
  • 3大核心优势让itch.io桌面应用成为独立游戏玩家的必备工具
  • 攻克biliTickerBuy运行难题:开源抢票工具全方案解决指南
  • 首次学习markdown
  • SAP ALV表格编辑保存全攻略:从LVC_S_GLAY-EDT_CLL_CB字段到数字字段处理技巧
  • GLM-OCR小白友好指南:从零开始,轻松玩转多模态OCR
  • 基于springboot企业进销存管理系统
  • 提升开发效率的终极方案:BMAD-METHOD敏捷AI开发框架实战指南
  • 西门子1200使用信号板(CB 1241 RS485)实现ModbusRTU源码分享
  • Leetcode HOT 100
  • 硬件助理,在项目中遇到的问题-2
  • 八种智能优化算法在CEC2017上的运行效果及Friedman评价指标的Matlab实现
  • InstructPix2Pix效果展示集:油画风、复古胶片感,指令生成惊艳作品
  • RMBG-2.0模型边缘计算部署指南
  • 轻量级微信JS接口封装工具:让前端开发更高效
  • Gemma-3-270m效果对比:Ollama中Gemma-3-270m vs Gemma-2-2B生成质量
  • YOLOv12赋能AIGC:为文生图模型提供精准的空间控制
  • Java开发工具MyEclipse发布v2026.1:支持Java25和Spring Boot4、AI功能升级
  • 2026年比较好的柴油发电机出租公司推荐:静音环保发电机出租高评分公司推荐 - 品牌宣传支持者
  • FreeRTOS任务卡死?手把手教你实现精准监控与智能恢复(附完整代码)
  • MarkItDown:多格式文档转换解决方案的实战指南
  • YOLO12多目标跟踪初探:DeepSORT+YOLO12x联合部署效果展示
  • Wan2.1 VAE应用:自动化软件测试中的图像对比与异常检测
  • LeetCode-118:杨辉三角不用硬背,关键是学会一行一行生成
  • AI Agent可观测性工程:从分布式追踪到智能运维
  • 深度解析:为什么创客匠人是知识付费 SaaS 平台的可靠之选