Główna » jak » Linux QuickTip Pobieranie i rozpakowywanie w jednym kroku

    Linux QuickTip Pobieranie i rozpakowywanie w jednym kroku

    W większości przypadków, gdy coś pobieję, jest to jakieś archiwum plików - zwykle plik archiwum lub plik zip. Może to być kod źródłowy aplikacji, która nie jest zawarta w drzewie Portage Gentoo, dokumentacja wewnętrznej aplikacji korporacyjnej, a nawet coś tak przyziemnego jak nowa instalacja WordPressa.

    Tradycyjny sposób pobierania i rozprowadzania czegoś w terminalu może wyglądać następująco:

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

    tar xvzf latest.tar.gz

    rm latest.tar.gz

    A może bardziej zwarta forma:

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

    Tak czy inaczej jest trochę niezgrabny. Jest to bardzo prosta operacja, potężna powłoka, taka jak bash, powinna umożliwić wykonanie tego zadania w bardziej "zręczny" sposób.

    Cóż, dzięki przydatnemu niewielkiemu poleceniu "curl", możemy faktycznie wykonać powyższy bałagan w jednym, wypisanym oświadczeniu:

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

    Nie ma plików tymczasowych, których można się pozbyć, nie bawiąc się amperandami. Krótko mówiąc, bardzo kompaktowa, wydajna komenda. W rzeczywistości, z teoretycznego punktu widzenia, metoda curl może być szybsza niż połączony błąd wget / tar / rm, ponieważ standardowe wyprowadzenia używają RAM jako bufora, jeśli to możliwe, podczas gdy wget i tar (z przełącznikiem -f) muszą czytać / zapisywać bezpośrednio z dysku.

    Nawiasem mówiąc, tar z opcją -v (sposób, w jaki używamy go we wszystkich powyższych przykładach), wypisuje każdą nazwę pliku na standardowe wyjście, ponieważ każda z nich jest nieuprawniona. Może to stać na drodze do ładnego pliku curl, ncurses pokazującego status pobierania. Możemy wyciszyć tar poprzez wywołanie go bez -v w ten sposób:

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

    I to wszystko!