17814 cazuri COVID-19 în Moldova
6511 – cazuri active
10718 – cazuri vindecate
585 – cazuri fatale
Actualizarea datelor: 6 iulie 2020 ora 05:34


pv: Progress Bar for md5sum et al.


Tools that know they will take a long time often come with a built-in progress indicator, but there are other utilities on Linux that often leave the user frustratedly tapping their fingers, wondering how much longer they will have to wait.

Luckily, there is a nifty little tool called pv that will donate a progress bar to any program that can read from standard input or a pipe. pv probably stands for pipe viewer.

1. Simple example: figure out how long an md5sum will take:

pv eternal.avi |md5sum

will display something like

96.5MB 0:00:05 [25.3MB/s] [=======>                                    ]  9% ETA 0:00:48

Notes:

  • pv reads from file and prints to stdout.
  • md5sum reads from stdin.
  • pv outputs the progress bar to stderr so as not to interfere with the piped data. See the man page for ways to customize pv’s output.
  • since the bottleneck of such an operation is the media you’re reading from, not the CPU, there will be no noticeable overhead.

2. Complex example: add a progress bar to tar/bzip2 compression/decompression:

tar cf - mydir | pv -n -s $(du -sb mydir | awk ‘{print $1}’) | bzip2 >mydir.tar.bz2

Notes:

  • this example is adapted from the pv man page.
  • the -n switch makes pv output only percentage values.
  • no file is passed to pv, so it reads from stdin (piped to the output of tar).
  • on a system with good cache and enough memory, doing the extra du -s mydir shouldn’t hurt much, since tar will go through the entire directory anyway.

Now let’s decompress it:

pv mydir.tar.bz2 |tar xjf -

By now you realize how awesome this is.

3. Fun example: measure /dev/null throughput:

pv /dev/zero >/dev/null

is close to 3.3GB/s on my 3-year-old system.

Notes:

  • this is not a benchmark ™.
  • pv can’t know the size of its input in this case (infinity), so it obviously can’t display an ETA.

pv is a brilliant example of the UNIX philosophy: simple puzzle pieces combining to create useful results. A couple of last-word remarks:

  • There is apparently a very similar tool called cpipe.
  • There are, unfortunately, programs for which you will not be able to use pv. One example is dpkg, which apparently tries seeking in its input, thus failing to work with pipes.
  • Thanks to my boss for pointing me to this awesome tool.
Posted in Linux, Shell, Technology   Tagged: bzip, bzip2, compression, decompression, md5, md5 sum, md5sum, pipe, progress, progress bar, pv, tar, throughput, tool, trick, unzip, zip   

Sursa
2009-02-05 00:00:00



Comenteaza





Ultimele 25 posturi adăugate

22:15:06Vacanţă în Elveţia (3) – Bielersee —» APort | "Pentru un român care știe citi, cel mai greu lucru e să nu scrie." I.L. Carag
10:19:59Lupta pentru adevăr, o provocare pentru comunitatea LGBT —» Curaj.TV | Media alternativă
10:08:05Metafore noi de la Gogu Winery —» Fine Wine
05:51:1125/40: „Tu ești numărul 1” de Iuliana Enache —» Sunt MAMĂ!
23:16:01Anegdoate noi —» Castraveţ
15:34:38Cum ne ajută gândirea critică să distingem între bullshit și profunzime —» Curaj.TV | Media alternativă
11:53:18Revoltate că și-a alungat sora și nepotul care locuia în grajd —» Curaj.TV | Media alternativă
22:27:55Vacanţă în Elveţia (2) – Lauterbrunnen —» APort | "Pentru un român care știe citi, cel mai greu lucru e să nu scrie." I.L. Carag
11:59:42Ambasadorul Marii Britanii, Melinda Simmons: «Rusia este cea care poate pune capăt războiului din Donbass» —» ACUM ÎN UCRAINA
11:10:16Abba – Avraham Fried —» O parte din Mine
10:41:23Întoarcerea la Cuvânt —» O parte din Mine
10:29:40Adio, pandemie? Bun venit, campanie electorală! —» Curaj.TV | Media alternativă
08:11:25Inspecţie civică la Garda de mediu Buzău —» Curaj.TV | Media alternativă
05:31:05POEZII PENTRU COPII —» Leo Butnaru
05:27:25Profilul viitoarei vedete de la PoRnOTV —» un alt blog
03:22:22Polonia pentru polonezi —» Viata pe Tinder – Viata amoroasa pe Tinder
22:55:13Vacanţă în Elveţia (1) – St. Ursanne —» APort | "Pentru un român care știe citi, cel mai greu lucru e să nu scrie." I.L. Carag
21:18:48Geană şi Niţu pun poliţia la treabă, Întorsura Buzăului —» Curaj.TV | Media alternativă
19:19:42Maşina MAI staţionează periculos şi ilegal —» Curaj.TV | Media alternativă
19:15:42Agresat de poliţia locală pentru c-o filmam —» Curaj.TV | Media alternativă
18:18:17©️ Femeia ta, oglinda ta… —» Licurici de suflet
17:41:40Câte femei încap într-o femeie? Câte voci? —» Frinturi din suflet de femeie
12:15:55Andrew Rayel – absolventul liceului nostru printre cei mai buni DJ din lume! —» Liceul Teoretic “Mihail Sadoveanu”, Călăraşi
12:14:10Vorbe, fapte, bani —» Madrizen
09:06:14„Guvernul lui Dodon vrea să ofere sporuri salariale mai mari celor din Parlament, decât medicilor și învățătorilor”. Declarația deputaților PAS —» Elena Robu