Dauguma laiko, kai aš atsisiųsti kažką, tai yra tam tikros failų archyvas - paprastai archyvas ar zip failas. Tai galėtų būti tam tikros programinės įrangos šaltinio kodas, kuris nėra įtrauktas į "Gentoo" "Portage" medį, kai kurie vidinės įmonės programos dokumentai ar netgi kas nors kasdieniškas kaip naujas "WordPress" diegimas.
Tradicinis būdas atsisiųsti ir atleisti kažką terminalo būtų kažkas panašaus į tai:
wget https://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
Arba galbūt kompaktiškesnė forma:
wget https://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz
Bet kuriuo atveju yra šiek tiek nepatogus. Tai labai paprastas veiksmas, galingas lukštas, panašus į bash, turėtų leisti tokį užduotį atlikti labiau "blizgančiu" būdu.
Na, dėka naudingos mažos komandos "curl", iš tikrųjų mes galime padaryti netvarką aukščiau tik viename vamzdyne pareiškimą:
curl https://wordpress.org/latest.tar.gz | tar xvz
Nėra laikinųjų failų, kad atsikratyti, nepasikartotų su ampersandais. Trumpai tariant, labai kompaktiška, efektyvi komanda. Iš teorijos požiūriu kreivės metodas gali būti greitesnis už susietą wget / tar / rm maišelį, nes stdout vamzdynai, jei įmanoma, naudos RAM kaip buferį, o wget ir tar (su -f jungikliu) turi skaityti / rašyti tiesiogiai iš disko.
Beje, dervas su -v parinktimi (kaip mes naudojame jį visuose aukščiau pateiktuose pavyzdžiuose) kiekvieno failo pavadinimą spausdina kaip "stdout", nes kiekvienas iš jų yra neparengtas. Tai gali pasireikšti kaip "grazus", "ncurses" išvestis, rodantis atsisiuntimo būseną. Mes galime tylėti dervą, pakeldami jį be-v tokiu būdu:
curl https://wordpress.org/latest.tar.gz | tar xz
Ir visa tai yra!