Úvodná » ako » Linux QuickTip sťahovanie a un-taring v jednom kroku

    Linux QuickTip sťahovanie a un-taring v jednom kroku

    Väčšinu času, keď som niečo stiahol, je to archív súborov nejakého druhu - zvyčajne súbor tarball alebo zip. Mohlo by to byť nejaký zdrojový kód pre aplikáciu, ktorá nie je zahrnutá do stromu Portage Gentoo, nejaká dokumentácia pre internú firemnú aplikáciu alebo dokonca niečo ako obyčajné ako nová inštalácia programu WordPress.

    Tradičný spôsob sťahovania a rozpoznania niečoho v termináli by bol niečo takéto:

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

    tar xvzf latest.tar.gz

    rm latest.tar.gz

    Alebo možno aj kompaktnejšia forma:

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

    Či tak alebo onak je trochu nemotorný. Jedná sa o veľmi jednoduchú operáciu, silný shell ako bash by mal umožniť, aby sa takáto úloha vykonávala "šikovnejšie".

    No, vďaka použiteľnému malému príkazu "curl", môžeme skutočne dosiahnuť neporiadok vyššie len v jednom piped vyhlásenie:

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

    Žiadne dočasné súbory, ktoré by ste sa zbavili, nemali by sa preháňať s ampersandmi. Stručne povedané, veľmi kompaktný a účinný príkaz. V skutočnosti z teoretického hľadiska môže byť metóda zakrivenia rýchlejšia ako spojený wget / tar / rm mess, pretože stdout potrubia použije RAM ako vyrovnávaciu pamäť, ak je to možné, zatiaľ čo wget a tar (s prepínačom -f) musia čítať / písať priamo z disku.

    Mimochodom, decht s voľbou -v (spôsob, akým ho používame vo všetkých vyššie uvedených príkladoch) vytlačí každý názov súboru na stdout, pretože každý z nich je nezaradený. To môže dostať do cesty pekne, pekný, ncurses výstup zobrazujúci stav sťahovania. Môžeme mlieko mlčať tým, že ho odvoláme bez toho,

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

    A to je všetko, čo je k tomu!