Linux QuickTip: letöltés és un-tarring egy lépésben

Linux QuickTip: letöltés és un-tarring egy lépésben
Linux QuickTip: letöltés és un-tarring egy lépésben

Videó: Linux QuickTip: letöltés és un-tarring egy lépésben

Videó: Linux QuickTip: letöltés és un-tarring egy lépésben
Videó: Master these and become a KEYBOARD NINJA! - YouTube 2024, November
Anonim

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!

Ajánlott: