Prenos v Linux in Quick-TIP v enem koraku
Večino časa, ko prenesem nekaj, je nekakšen arhiv datotek - ponavadi je tarball ali zip datoteka. To je lahko neka izvorna koda za aplikacijo, ki ni vključena v drevo Gentoo Portage, nekaj dokumentacije za notranjo poslovno aplikacijo ali celo nekaj tako preprostega kot nova namestitev programa WordPress.
Tradicionalni način prenosa in odstranjevanja nečesa v terminalu bi bil takole:
wget http://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
Ali morda bolj kompaktna oblika:
wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz
Kakorkoli, je malce nerodno. To je zelo preprosta operacija, močna ukazna lupina, kot je bash, mora omogočiti takšno nalogo, da se izvede na bolj »slick« način.
No, zahvaljujoč uporabnemu malemu ukazu "curl", lahko dejansko dosežemo nered v zgornjem enem izpisu:
curl http://wordpress.org/latest.tar.gz | tar xvz
Ni začasnih datotek, s katerimi bi se lahko znebili, ne da bi se zmešali z znaki. Skratka, zelo kompakten, učinkovit ukaz. Pravzaprav je lahko s teoretičnega stališča metoda curl hitrejša od združene wget / tar / rm mess, saj bo stdout cevovod uporabljal RAM kot blažilnik, če je to mogoče, medtem ko mora wget in tar (s stikalo -f) brati / pisati neposredno iz diska.
Mimogrede, tar z možnostjo -v (način, kako ga uporabljamo v vseh zgornjih primerih) natisne vsako ime datoteke v stdout, saj je vsaka datoteka neobdelana. To lahko pride na način, da je curl lep, ncurses izhod prikazuje stanje prenosa. Tar lahko utišamo tako, da ga pozovemo brez -v, zato:
curl http://wordpress.org/latest.tar.gz | tar xz
In to je vse!