Većinu vremena, kada sam skinuti nešto, to je arhivska datoteka neke vrste - obično tarball ili zip datoteku. To bi mogao biti neki izvorni kod za aplikaciju koja nije uključena u Gentoo Portage stablo, neku dokumentaciju za internu korporativnu aplikaciju, pa čak i nešto čudnije kao nova instalacija programa WordPress.
Tradicionalni način preuzimanja i otklanjanja nečega na terminalu bio bi ovako:
wget https://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
Ili možda kompaktniji oblik:
wget https://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz
Bilo kako bilo je malo nespretno. Ovo je vrlo jednostavna operacija, snažna ljuska poput basha bi trebala omogućiti takav zadatak da se izvede na "gladak" način.
Pa, zahvaljujući korisnoj manjoj naredbi "uvijati", zapravo možemo ostvariti nered iznad u samo jednoj navodnoj izjavi:
curl https://wordpress.org/latest.tar.gz | tar xvz
Nema privremenih datoteka kako bi se riješio, a ne zabrljava se s krajnjim korisnicima. Ukratko, vrlo kompaktna, učinkovita naredba. Zapravo, s teorijskog gledišta, postupak zakrivljenosti može biti brži od povezanog wget / kat / rm nereda budući da će stdout cjevovod koristiti RAM kao buffer, ako je moguće, dok wget i tar (s -f prekidačem) moraju čitati / pisati izravno s diska.
Usput, katran s opcijom -v (način na koji ga koristimo u svim gore navedenim primjerima) ispisuje svaki naziv datoteke kako bi se stdout pojavljivali jer je svaki od njih nepoznat. To se može postići na način da je curl lijep, ncurses izlaz koji prikazuje status preuzimanja. Možemo šutjeti katran pozivajući ga bez - ovako:
curl https://wordpress.org/latest.tar.gz | tar xz
I to je sve što je moguće!