Účel: Pokud jste se do psaní shell skriptů a chtěli byste zobrazit pěknou pokroku Text bar, jak vaše skripty spouštět různé příkazy, pak se vaše starosti jsou pryč. V tomto blogu se budeme vidět, jak můžeme realizovat bar v našich skriptech průběhu textu pomocí velmi šikovný nástroj s názvem " clpbar ". Některé dobré důvody, proč mají progress bar jsou:

  • 1. Nechte uživatel vědět, jak daleko budou muset čekat, než konkrétní úkol / command dostane dokončena.
  • 2. Vizuálně atraktivní a profesionální

a existuje mnoho dalších ...

Krok 1: Stáhněte si nebo získat zdroj

Tento nástroj (pokud vím), není v žádném standardní distribuce Linuxu jako Ubuntu, Fedora, Debian, atd. Takže budeme-li stáhnout nástroj pro sourceforge stránkách. Můžete si všimnout, že autor byl nahrán různých formátů z binárního instalačního balíčku: ". deb" balíček pro systémy na bázi Debian / Ubuntu ". min" pro systémy Fedora založené, a také zdrojový tarball, pokud potřebujete zkompilovat. Budeme stáhnout balíček ". Deb" a nainstaluje na systému Debian Lenny. Buď můžete ručně stáhnout soubor z vašeho internetového prohlížeče, nebo můžete jednoduše zadat tento příkaz na vašem systému Linux:
# apt-get update
# apt-get wget
# wget http://downloads.sourceforge.net/clpbar/bar_1.10.9_i386.deb?modtime=1183036896&big_mirror=0

To bude stahovat soubor do adresáře, odkud jsi dal výše uvedený příkaz.

Krok 2: Nainstalujte soubor "deb."

. "Deb" Poté, co jste si stáhli soubor na vašem systému Linux, nainstalovat pomocí dpkg příkazu:
# dpkg -i <file-you-downloaded-from-step1>
Example:
# dpkg -i bar_1.10.9_i386.deb

Krok 3: Použijte ho přímo ve Vašem shell skript nebo dokonce samostatný spolu s jakýmkoli příkazem

Po instalaci instalaci cílové od kroku 2, bude nyní máte binárku s názvem "bar". Například stačí napsat:
# bar
# t 0.0B/s elapsed: 0:00:01

To ukazuje, že "bar" je správně nainstalován. Nyní se podívejme, tento příkaz v nějaké akci. Předpokládejme, že chcete rozbalit soubor 500 + MB (řekněme image.tar.bz2) a chtěli byste vidět ukazatel průběhu a odhadovaný čas dokončení. Dej následující příkaz:
#bar image.tar.bz2 | tar xjf -

a budete mít možnost vidět něco takového:
# bar image.tar.bz2 | tar xjf -
44.2MB at 383.1KB/s eta: 0:05:20 26% [========= ]

Výše uvedený výstup nám říká následující:

ETA (předpokládaný čas příjezdu): 05:20

Kolik je přenosová rychlost: 383,1 KB / s

Kolik souboru je untar'd: 44,2 MB

Poznámka: Nepoužívejte ignorovat "-" podepsat na konci příkazu výše, jinak dostanete chybovou zprávu.

Krok 4: Použití v shell skript

Pomocí "bar" nástroj v shell skriptu je velmi jednoduché. Zde je příklad bash shell skript:
#!/bin/bash
echo "Starting untaring image..."
bar image.tar.bz2 | tar xjf -
echo "Untarring successfully completed"


Výše uvedený příklad, který jsme viděli výše, je jen špička ledovce. Vřele doporučujeme přečíst si manuálovou stránku pro bar, aby prozkoumala, že je to skutečný potenciál:
# man bar

Můžete změnit barvu popředí a pozadí, měnit popisky, atd.

Další příklady

Níže jsou uvedeny některé příklady přímo z manuálové stránce baru:

Příklad 1: Použití bar zkopírovat soubor 2,4 GB ze zařízení (v tomto případě páskové jednotky) do souboru pomocí 64k vyrovnávací paměti.
# bar --in-file /dev/rmt/1cbn --out-file tape-restore.tar --size 2.4g --buffer-size 64k

Příklad 2: Použití bar zkopírovat soubor 37tb po síti pomocí SSH.

# ssh remote `dd if=file` | bar --size 37t > file

Příklad 3: Použití bar uvnitř příkazu tar-potrubí:
Normální příkaz tar-trubka může být:

# (cd /some/dir/somewhere && tar -cf - *) | (cd /some/other/dir && tar -xBpf -)

3a: Použití bar v tar-potrubí:
# cd /some/dir/somewhere && tar -cf - *) | bar | (cd /some/other/dir && tar -xBpf -)
3b: Použití bar s možností velikosti v tar-potrubí:
# du -sk /some/dir/somewhere
6281954 /some/dir/somewhere
# (cd /some/dir/somewhere && tar -cf - *) | bar --size 6281954k | (cd /some/other/dir && tar -xBpf -)

Příklad 4: Použití bar na běžný soubor. (Všimněte si, že volba velikosti zde není potřeba, protože bar načte velikost souboru sám.)
# bar --in-file ./file | ssh remote ` cd /some/dir && dd of=file`

Příklad 5: Generování 512k soubor náhodných dat

# dd if=/dev/random bs=1024 count=512 | bar -s 512k -of ./random

Jak můžete vidět z výše uvedených příkladů, že bar je velmi silný a užitečný nástroj.

Užijte si Bar'ing .... :)

Jako obvykle, prosím zanechat komentář / zpětnou vazbu, pokud máte nějaké. Komentáře podporuje bloggery, abyste mohl psát více a zachovat jejich ducha vysoká.

Také nezapomeňte hodnotit tento příspěvek níže.

Být společenský, Share!