Legtöbbször, amikor letöltöm valamit, ez valamilyen fájlarchívum - általában egy tarball vagy egy zip fájl. Ez lehet egy forráskód egy alkalmazás számára, amely nem szerepel a Gentoo Portage fában, egy belső vállalati alkalmazás dokumentációját, vagy akár egy új WordPress telepítést is.
A terminál termináljának hagyományos letöltési módja és elrejtése valami ilyesmi lehet:
wget https://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
Vagy talán a kompaktabb forma:
wget https://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz
Bármelyik út egy kicsit ügyetlen. Ez egy nagyon egyszerű művelet, egy hatalmas héj, mint a bash, lehetővé tenné, hogy egy ilyen feladatot "simább" módon hajtsanak végre.
Hát, egy hasznos, kis "göndör" parancsnak köszönhetően a fenti rendet csak egy piped kijelentésben lehet elérni:
curl https://wordpress.org/latest.tar.gz | tar xvz
Nincsenek ideiglenes fájlok, amelyek megszabadulni, és nem szakadnak meg az ampersands. Röviden, nagyon kompakt, hatékony parancs. Tény, hogy elméleti szempontból a curl módszer gyorsabb lehet, mint a concatenated wget / tar / rm rendetlenség, mivel az stdout csövek a RAM-t pufferként használják, ha lehetséges, míg a wget és a tar (az -f kapcsolóval) olvasni / írni közvetlenül a lemezről.
Egyébként a tar -v opcióval (ahogyan azt a fenti példákban is használjuk) kinyomtatja az egyes fájlneveket a stdout-hoz, mivel mindegyik nem titkosítva van. Ez megakadályozhatja a curl szép, ncurses kimenetét, amely letöltési állapotot mutat. A kátrányt elhallgattathatjuk anélkül, hogy -v így:
curl https://wordpress.org/latest.tar.gz | tar xz
És mindennek van rajta!