151687 cazuri COVID-19 în Moldova
7493 – cazuri active
140983 – cazuri vindecate
3211 – cazuri fatale
Actualizarea datelor: 15 ianuarie 2021 ora 16:22


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

15:47:49Moldova Curată: lista moldovenilor curați & Igor Șarov —» Gheorghe Erizanu
09:40:29Politica externă “cu ochii închiși” a Moldovei? —» Dionis Cenuşa
09:25:57“Terorism” moldovenesc în SUA. Atacul asupra Capitoliului —» Cojocari Vitalie
00:38:01bloody —» turn up the silence
17:53:05Iubiri trecute —» Frinturi din suflet de femeie
14:07:21Noul an: importanța trăirii în lumina veșniciei —» Moldova Creștină
14:00:23De ce nu sărbătoresc Ziua Îndrăgostiților și Dragobetele —» Sunt MAMĂ!
13:54:47La clătite, înainte! Rețeta celor mai delicioase clătite americane + o activitate pentru copii —» Sunt MAMĂ!
13:45:01President Sandu’s trip to Kyiv: Two memorandums; no mentioning of the Transnistrian conflict —» Dionis Cenuşa
13:26:13Maia Sandu, în cadrul vizitei oficiale la Kiev: „Ne dorim să fim mai mult decât vecini, ne dorim să fim prieteni” —» Elena Robu
09:46:405 ani de la explozia de la cafeneaua ”La Soacra” —» blog cultural
08:46:43300 de euro mită pentru a deveni ”șofer” în R. Moldova —» Elena Robu
06:32:31CUM SĂ FACI ORDINE ÎNTR-O ȚARĂ A CĂREI CONSTITUȚIE NU CORESPUNDE DISPOZIȚIEI MAIEI SANDU!? —» Sergiu Mocanu
04:48:28flamboyant —» turn up the silence
20:26:24Ce-ar fi oare să băgăm la dubă „street-racer”ii ilegali? Ei doar îs ucigași latenți! —» un alt blog
16:20:53Cine o însoțește pe Maia Sandu în prima vizită oficială în străinătate în calitate de președinte al țării —» Elena Robu
16:02:02Top vânzări decembrie 2020. Librăriile Cartier —» Gheorghe Erizanu
14:07:00Morse code – mandatory for militaries —» Dragostina Vicol – jurnalism militar
12:58:24De ce citesc tot mai puține cărți de parenting —» Sunt MAMĂ!
10:44:00A chemat poliția la biserică pentru mai multe nereguli —» Curaj.TV | Media alternativă
09:21:11După furtuna de zăpadă Filomena, Spania se pregăteşte pentru un val „nemaintâlnit” de frig —» Elena Robu
08:58:15Critică pe Igor Dodon și alții pentru iresponsabilitatea manifestată public la adresa oamenilor —» Curaj.TV | Media alternativă
08:23:46COVID-19: Noi măsuri care intră în vigoare de astăzi în Germania —» Elena Robu
07:00:56Declaraţii uluitoare a acţiunilor ilegale comise de autorități şi Poliţie —» Curaj.TV | Media alternativă
21:24:13God’s Revelation in Nature —» ajna-blogging-press