Skip to main content

Linux QuickTip: Nedlasting og un-tarring i ett trinn

Linux QuickTip: Nedlasting og un-tarring i ett trinn

Geoffrey Carr

Mesteparten av tiden, når jeg laster ned noe, er det et filarkiv av noe slag - vanligvis en tarball eller en zip-fil. Dette kan være noen kildekode for en app som ikke er inkludert i Gentoos Portage-tre, noe dokumentasjon for en intern bedriftens app, eller til og med noe som er vanlig som en ny WordPress-installasjon.

Den tradisjonelle måten å laste ned og untarring noe i terminalen ville være noe slikt:

wget http://wordpress.org/latest.tar.gz

tar xvzf latest.tar.gz

rm latest.tar.gz

Eller kanskje den mer kompakte form:

wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz

Uansett er det litt klumpet. Dette er en veldig enkel operasjon, et kraftig skall som bash bør tillate en slik oppgave å bli utført på en mer "glatt" måte.

Vel, takket være en nyttig liten kommando "krølle", kan vi faktisk oppnå rotet ovenfor i bare en piped-setning:

curl http://wordpress.org/latest.tar.gz | tar xvz

Ingen midlertidige filer for å kvitte seg med, ikke rote rundt med ampersands. Kort sagt, en svært kompakt og effektiv kommando. Faktisk, fra et teoretisk synspunkt, kan krøllemetoden være raskere enn det sammenkoblede wget / tar / rm-rotet da stdout-rør vil bruke RAM som en buffer hvis mulig, mens wget og tjære (med -f-bryteren) må lese / skrive direkte fra en disk.

Forresten tar tjære med -v-alternativet (måten vi bruker det på i alle de ovennevnte eksemplene) ut hvert filnavn til stdout som hver er ubetjent. Dette kan komme i vei med curls fine, ncurses-utgang som viser nedlastingsstatus. Vi kan tåle tjære ved å påkalle den uten -v således:

curl http://wordpress.org/latest.tar.gz | tar xz

Og det er alt der er til det!

Link
Plus
Send
Send
Pin