Bii o ṣe le ṣe atẹle Ilọsiwaju ti (Daakọ/Afẹyinti/Compress) Data nipa lilo pv Command


Nigbati o ba n ṣe awọn afẹyinti, didaakọ/gbigbe awọn faili nla lori ẹrọ Lainos rẹ, o le fẹ lati ṣe atẹle ilọsiwaju ti iṣẹ ṣiṣe. Ọpọlọpọ awọn irinṣẹ ebute ko ni iṣẹ ṣiṣe lati gba ọ laaye lati wo alaye ilọsiwaju nigbati aṣẹ kan ba n ṣiṣẹ ninu paipu kan.

Ninu nkan yii, a yoo wo aṣẹ Linux/Unix pataki ti a pe ni pv.

Pv jẹ ohun elo ti o da lori ebute ti o fun laaye laaye lati ṣe atẹle ilọsiwaju ti data ti o n ranṣẹ nipasẹ paipu kan. Nigba lilo aṣẹ pv, o fun ọ ni ifihan iwoye ti alaye atẹle:

  1. Akoko ti o ti kọja.
  2. Oṣuwọn ti pari pẹlu ọpa ilọsiwaju.
  3. Fihan oṣuwọn igbasilẹ lọwọlọwọ.
  4. Lapapọ data ti o ti gbe.
  5. ati ETA (Aṣiro Aago).

Bii o ṣe le Fi aṣẹ pv sii ni Linux?

A ko fi aṣẹ yii sori ẹrọ nipasẹ aiyipada lori ọpọlọpọ awọn pinpin kaakiri Linux, nitorinaa o le fi sii nipasẹ titẹle awọn igbesẹ isalẹ.

Ni akọkọ o nilo lati tan-an ibi ipamọ EPEL ati lẹhinna ṣiṣe aṣẹ atẹle.

# yum install pv
# dnf install pv            [On Fedora 22+ versions]
Dependencies Resolved

=================================================================================
 Package       Arch              Version                   Repository       Size
=================================================================================
Installing:
 pv            x86_64            1.4.6-1.el7               epel             47 k

Transaction Summary
=================================================================================
Install  1 Package

Total download size: 47 k
Installed size: 93 k
Is this ok [y/d/N]: y
Downloading packages:
pv-1.4.6-1.el7.x86_64.rpm                                 |  47 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : pv-1.4.6-1.el7.x86_64                                         1/1 
  Verifying  : pv-1.4.6-1.el7.x86_64                                         1/1 

Installed:
  pv.x86_64 0:1.4.6-1.el7                                                        

Complete!
# apt-get install pv
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  pv
0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded.
Need to get 33.7 kB of archives.
After this operation, 160 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty/universe pv amd64 1.2.0-1 [33.7 kB]
Fetched 33.7 kB in 0s (48.9 kB/s)
Selecting previously unselected package pv.
(Reading database ... 216340 files and directories currently installed.)
Preparing to unpack .../archives/pv_1.2.0-1_amd64.deb ...
Unpacking pv (1.2.0-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up pv (1.2.0-1) ...
# emerge --ask sys-apps/pv

O le lo ibudo lati fi sii bi atẹle:

# cd /usr/ports/sysutils/pv/
# make install clean

Tabi ṣafikun package alakomeji bi atẹle:

# pkg_add -r pv

Bawo ni MO ṣe lo pv Command ni Linux?

pv ni a lo julọ pẹlu awọn eto miiran eyiti ko ni agbara lati ṣe atẹle ilọsiwaju ti isẹ ti nlọ lọwọ. O le lo, nipa gbigbe si inu opo gigun ti epo kan laarin awọn ilana meji, pẹlu awọn aṣayan to peye ti o wa.

Iṣeduro boṣewa ti pv yoo kọja nipasẹ si iṣiṣẹ boṣewa rẹ ati ilọsiwaju (iṣẹjade) yoo tẹjade lori aṣiṣe aṣiṣe. O ni ihuwasi ti o jọra bi aṣẹ ologbo ni Lainos.

Ilana ti aṣẹ pv gẹgẹbi atẹle:

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

Awọn aṣayan ti a lo pẹlu pv pin si awọn isọri mẹta, awọn iyipada ifihan, awọn aṣatunṣe iṣujade ati awọn aṣayan gbogbogbo.

  1. Lati tan-an ọpa ifihan, lo aṣayan -p.
  2. Lati wo akoko ti o kọja, lo aṣayan -idime.
  3. Lati tan aago ETA eyiti o gbiyanju lati gboju le won bawo ni yoo gba ṣaaju ipari iṣẹ kan, lo aṣayan –eta. Amoro naa da lori awọn oṣuwọn gbigbe tẹlẹ ati iwọn data lapapọ.
  4. Lati tan-an ounka oṣuwọn lo aṣayan –rate.
  5. Lati ṣe afihan iye iye data ti a gbe lọ bẹ, lo aṣayan –biti.
  6. Lati ṣe afihan ilọsiwaju sọfun ipin ogorun odidi dipo itọkasi ti wiwo, lo aṣayan -n. Eyi le dara nigba lilo pv pẹlu aṣẹ ajọṣọ lati fihan ilọsiwaju ninu apoti ajọṣọ.

  1. Lati duro de igba ti a ba gbe baiti akọkọ ṣaaju iṣafihan alaye ilọsiwaju, lo aṣayan-duro.
  2. Lati gba iye apapọ data lati gbe ni SIZE awọn baiti nigbati o ba nṣeto idapọ ati ETA, lo –iwọn aṣayan SIZE.
  3. Lati ṣọkasi awọn aaya laarin awọn imudojuiwọn, lo aṣayan -iṣaaju SECONDS.
  4. Lo –aṣayan ipa lati fi ipa ṣiṣẹ. Aṣayan yii fi ipa mu pv lati ṣe afihan awọn iwo nigbati aṣiṣe boṣewa ko jẹ ebute.
  5. Awọn aṣayan gbogbogbo jẹ –awọn iranlọwọ lati ṣe afihan alaye lilo ati –iyipada lati ṣafihan alaye ẹya.

Lo Pv pipaṣẹ pẹlu Awọn apẹẹrẹ

1. Nigbati ko ba si aṣayan ninu, awọn aṣẹ pv ṣiṣe pẹlu aiyipada -p, -t, -e, -r ati -b awọn aṣayan.

Fun apẹẹrẹ, lati daakọ faili buɗeuse.vdi si /tmp/opensuse.vdi, ṣiṣe aṣẹ yii ki o wo igi ilọsiwaju ni iboju iboju.

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

2. Lati ṣe faili zip lati faili rẹ/var/log/syslog, ṣiṣe aṣẹ atẹle.

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

3. Lati ka nọmba awọn ila, ọrọ ati awọn baiti ninu faili/ati be be lo/awọn ogun nigba ti o n fihan igi ilọsiwaju nikan, ṣiṣe aṣẹ yii ni isalẹ.

# pv -p /etc/hosts | wc

4. Ṣe atẹle ilọsiwaju ti ṣiṣẹda faili afẹyinti nipa lilo iwulo oda.

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

5. Lilo pv ati ohun elo ti o da lori ebute ti ọrọ sisọ pọ lati ṣẹda igi ilọsiwaju ọrọ sisọ bi atẹle.

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

Akopọ

Eyi jẹ irinṣẹ orisun ebute ti o dara ti o le lo pẹlu awọn irinṣẹ ti ko ni agbara, lati ṣe atẹle ilọsiwaju ti awọn iṣiṣẹ bii didaakọ/gbigbe/awọn faili atilẹyin, fun awọn aṣayan diẹ sii ṣayẹwo eniyan pv.

Mo nireti pe o rii nkan yii ti o wulo ati pe o le firanṣẹ ọrọ kan ti o ba ni awọn imọran eyikeyi lati ṣafikun nipa lilo pipaṣẹ pv. Ati pe ti o ba gba awọn aṣiṣe eyikeyi lakoko lilo rẹ, o le daradara fi asọye silẹ.