Linux QuickTip preuzimanje i uklanjanje tarife u jednom koraku
Većinu vremena, kad preuzmem nešto, to je datoteka arhiva neke vrste - obično tarball ili zip datoteka. To bi mogao biti neki izvorni kôd za aplikaciju koja nije uključena u Gentoo Portage stablo, neka dokumentacija za internu korporativnu aplikaciju, ili čak nešto kao svakodnevno kao nova WordPress instalacija.
Tradicionalni način preuzimanja i izdvajanja nečega u terminalu bi bio nešto slično ovome:
wget http://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
Ili možda kompaktniji oblik:
wget http://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 treba dopustiti da se takav zadatak izvrši na "glatniji" način.
Pa, zahvaljujući korisnoj maloj naredbi "curl", zapravo možemo ostvariti nered iznad svega u jednoj izjavi:
curl http://wordpress.org/latest.tar.gz | tar xvz
Nema privremenih datoteka koje bi se riješile, a da se ne petljaju s ampersandima. Ukratko, vrlo kompaktna, učinkovita naredba. U stvari, s teoretskog stajališta, metoda kovrče može biti brža od ulančanog wget / tar / rm messa jer će stdout cjevovodi koristiti RAM kao međuspremnik ako je moguće, dok wget i tar (s -f switch) moraju čitati / pisati izravno s diska.
Uzgred, tar s opcijom -v (način na koji ga koristimo u svim gore navedenim primjerima) ispisuje svaki naziv datoteke u stdout jer je svaki unarariran. To može doći na put lijepo curl, ncurses izlaz prikazuje status preuzimanja. Možemo utišati tar pozivom bez -v na taj način:
curl http://wordpress.org/latest.tar.gz | tar xz
I to je sve!