If-Koubou

Linux QuickTip: Pobieranie i anulowanie w jednym kroku

Linux QuickTip: Pobieranie i anulowanie w jednym kroku (Jak)

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, dokumentacji wewnętrznej aplikacji korporacyjnej, a nawet czegoś tak przyziemnego jak nowa instalacja WordPress.

Tradycyjny sposób pobierania i rozprowadzania czegoś w terminalu 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 kompaktowa 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 pozwolić na wykonanie tego zadania w bardziej "zręczny" sposób.

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

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

Żadnych plików tymczasowych, których można się pozbyć, żadnych problemów z amperandami. Krótko mówiąc, bardzo kompaktowa, wydajna komenda. W rzeczywistości, z teoretycznego punktu widzenia, metoda zwijania 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 nazwę każdego pliku na standardowe wyjście, ponieważ każdy z nich jest nieuprawniony. Może to stać na drodze do ładnych plików curl, ncurses pokazujących stan 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, co do tego należy!