首页 > 其他分享 >如何使用“pv”命令监控(复制/备份/压缩)数据的进度

如何使用“pv”命令监控(复制/备份/压缩)数据的进度

时间:2023-03-07 18:00:23浏览次数:26  
标签:选项 pv -- 备份 使用 命令 复制 Linux

概述

在 Linux 系统上进行备份和复制/移动大文件时,您可能希望监视正在进行的进度。许多终端工具没有允许您在管道中运行命令时查看进度信息的功能。在本文中,我们将了解一个重要的 Linux/Unix 命令,称为pvPipe Viewer,可以帮你解决问题。

Pv是一种基于终端的工具,可让您监控通过管道发送的数据的进度。使用pv命令时,它可以直观地显示以下信息:

  • 已经过去的时间。

  • 完成百分比包括一个进度条。

  • 显示当前吞吐率。

  • 传输的总数据。

  • 和 ETA(预计时间)。

如何在 Linux 中安装 pv 命令?

大多数 Linux 发行版默认不安装pv命令,因此您可以按照以下步骤安装它。

首先,您需要打开EPEL 存储库,然后运行以下yum或dnf命令进行安装。

# yum install pv
OR
# dnf install pv

在其他 Linux 发行版上安装 pv

$ sudo emerge -a pv [Gentoo Linux] 
$ sudo apk add pv [Alpine Linux]
$ sudo pacman -S pv [Arch Linux]
$ sudo zypper install pv [OpenSUSE]  

如何在Linux中使用pv命令?

pv主要与其他无法监控正在进行的操作进度的程序一起使用。您可以使用它,将它放在两个进程之间的管道中,并提供适当的选项。pv的标准输入将传递到它的标准输出。它与 Linux 中的cat 命令具有相似的行为。

pv命令的语法如下:

$ pv file
$ pv options file
$ pv file > filename.out
$ pv options | command > filename.out
$ comand1 | pv | command2

显示修饰符下选项

  • 要打开显示栏,请使用-p选项。

  • 要查看经过的时间,请使用--timer选项。

  • 要打开 ETA 计时器,它会尝试猜测在完成操作之前需要多长时间,请使用--eta选项。猜测是基于以前的传输速率和总数据大小。

  • 要打开速率计数器,请使用--rate选项。

  • 要显示到目前为止传输的数据总量,请使用--bytes选项。

  • 要显示整数百分比的进度信息而不是视觉指示,请使用-n选项。当将pv与 dialog 命令一起使用以在对话框中显示进度时,这可能很好

输出修饰符下选项

  • 要在显示进度信息之前等待第一个字节传输完毕,请使用该--wait选项。

  • 要在计算百分比和 ETA 时假设要传输的数据总量为SIZE--size SIZE字节,请使用选项。

  • 要指定更新之间的秒数,请使用该--interval SECONDS选项。

  • 使用--force选项强制操作。当标准错误不是终端时,此选项强制 pv 显示视觉效果。

  • 一般选项是--help显示使用信息,-version显示版本信息。

 

Linux 中使用 pv 命令示例

1、文件复制

例如,要将opensuse.vdi文件复制到/tmp/opensuse.vdi

# pv opensuse.vdi > /tmp/opensuse.vdi

2、制作zip文件

# pv /var/log/syslog | zip > syslog.zip

img

3、要在仅显示进度条的同时统计/etc/hosts文件中的行数、字数和字节数,请运行以下命令。

# pv -p /etc/hosts | wc

Count Lines, Words and Bytes in Linux

4、使用tar 实用程序监控创建备份文件的进度

# tar -czf - ./Downloads/ | (pv -p --timer --rate --bytes > backup.tgz)

Create Tar Backup: Show Progress Bar

5、使用dd命令将ISO文件写入U盘

# dd if=debian-10.11.0-amd64-DVD-1.iso | pv | dd of=/dev/sda bs=4M

6、使用pv和dialog终端工具一起创建对话进度条如下

# tar -czf - ./Documents/ | (pv -n > backup.tgz) 2>&1 | dialog --gauge "Progress" 10 70

Create Dialog Progress Box

 

小结

这是一个很好的基于终端的工具,您可以将其与不具备此功能的工具一起使用,以监视处理/移动/备份文件等操作的进度。

标签:选项,pv,--,备份,使用,命令,复制,Linux
From: https://www.cnblogs.com/lkj371/p/17188981.html

相关文章

  • 使用Mycat构建MySQL读写分离、主从复制、主从高可用
    数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存......
  • MySQL 并行复制方案演进历史及原理分析
    预告:《MySQL实战》即将出版,敬请关注!有线上MySQL维护经验的童鞋都知道,主从延迟往往是一个让人头疼不已的问题。不仅仅是其造成的潜在问题比较严重,而且问题的定位尤其考......
  • MySQL 逻辑备份工具 MyDumper
    1、依赖安装dnfinstall-ycmakegccgcc-c++gitmake2、mydumper下载和安装#下载wgethttps://github.com/mydumper/mydumper/releases/download/v0.14.1-1/my......
  • Linux-MySQL 数据备份
    MySQL数据备份是一个非常重要的工作,保证数据的安全性和可靠性。常用方法:一、使用mysqldump工具来备份MySQL数据库。该工具可以生成SQL脚本文件,包含数据库中......
  • PostgreSQL定时备份策略
    ::适用于windows系统:://///////////////////////////////////////////////////////////////////////////::在pg服务器上创建备份脚本bakup.bat,以pg数据库为例::然后在w......
  • Linux备份与恢复使用技巧
    在日常的Linux系统运维中,备份和恢复是非常重要的操作,能够有效避免数据丢失和系统故障导致的影响。本文将介绍一些关于Linux系统备份和恢复的实用技巧,帮助管理员更好地管理......
  • Mysql 主从复制和 GTID 复制
    1、安装主Mysql优化命令创建数据和日志存储目录1)安装Mysql​root@centos05~]#tarzxfmysql-8.0.32-el7-x86_64.tar.gz-C/usr/src/[root@centos05~]#mv/usr/src/m......
  • 【MongoDB】移除复制集成员
    1.使用rs.remove()(1)关闭mongodb实例先关闭要移除的mongodb实例db.shutdownServer()(2)连接到复制集的primary节点使用db.hello()查看复制集的信息>db.hello(){......
  • shell获取所有ipv4地址
    需要安装jqubuntu@gooderver:~$ip-j-4addrshow|jq'.[]|.addr_info|.[]|.local'"127.0.0.1""172.24.64.162"ubuntu@gooderver:~$ip-j-6addrshow|jq'.[]......
  • ipv4
    IPv4概述IP协议(InternetProtocol)是TCP/IP协议族中最核心的协议,提供不可靠的、无连接的、尽力而为的数据报传输服务。IPv4报文格式01......