Dienstag, 6. März 2012

Linux QuickTip: Downloaden en Un-teren in One Step

De meeste van de tijd, als ik iets downloaden is een bestand archief van een soort - meestal een tarball of een zip-bestand. Dit kan enkele broncode van een app die niet is opgenomen in Portage Gentoo's boom, wat documentatie voor een intern bedrijfsnetwerk app, of zelfs iets alledaags als een nieuwe WordPress installatie.

De traditionele manier van downloaden en uitpakken van iets in de terminal zou iets als dit:

wget http://goo.gl/DygS

tar xvzf latest.tar.gz

rm latest.tar.gz

Of misschien de meer compacte vorm:

wget http://goo.gl/DygS & & Tar xvzf latest.tar.gz & & rm latest.tar.gz

Hoe dan ook is een beetje onhandig. Dit is een zeer eenvoudige bediening, moet een krachtige shell als bash toelaten een dergelijke taak uit te voeren in een meer "gelikte" manier.

Nou, dankzij een handig commando "krullen", kunnen we eigenlijk bereiken de rommel boven in slechts een achtergrondmuziek statement:

curl http://goo.gl/DygS | Tar xvz

Geen tijdelijke bestanden kwijt te raken, geen gedoe met ampersands. Kortom, een zeer compacte, efficiënte commando. In feite vanuit een theoretisch standpunt, kan de krul methode sneller zijn dan de samengevoegde wget / tar / rm puinhoop sinds stdout piping zal RAM-geheugen als een buffer indien mogelijk, terwijl wget en teer (met de-f switch) moet lezen / schrijven rechtstreeks vanaf een schijf.

Overigens, tar met de-v optie (de manier waarop we het gebruiken in alle bovengenoemde voorbeelden) drukt elke bestandsnaam naar stdout als elk is uitgepakt. Dit kan in de weg van de mooie, krullen de ncurses output zien download status. We kunnen stilte teer met een beroep op het zonder-v thusly:

curl http://goo.gl/DygS | Tar xz

En dat is alles wat er is het!

Keine Kommentare:

Kommentar veröffentlichen