Hjemmeside » hvordan » Linux QuickTip Nedlasting og un-tarring i ett trinn

    Linux QuickTip Nedlasting og un-tarring i ett trinn

    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 kildekoden 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 mer kompakt form:

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

    Uansett er det litt klumpete. 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:

    krølle http://wordpress.org/latest.tar.gz | tjære 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ølle-metoden være raskere enn det sammenkoblede wget / tar / rm-rotet da stdout piping vil bruke RAM som 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 da 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:

    krølle http://wordpress.org/latest.tar.gz | tar xz

    Og det er alt der er til det!