Skip to main content

"Linux QuickTip": atsisiuntimas ir "Un-tarring" viename žingsnyje

"Linux QuickTip": atsisiuntimas ir "Un-tarring" viename žingsnyje

Geoffrey Carr

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 http://wordpress.org/latest.tar.gz

tar xvzf latest.tar.gz

rm latest.tar.gz

Arba galbūt kompaktiškesnė forma:

wget http://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 http://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 http://wordpress.org/latest.tar.gz | tar xz

Ir visa tai yra!

Link
Plus
Send
Send
Pin