Изтегляне на Linux QuickTip и премахване на тарифите в една стъпка
По-голямата част от времето, когато изтеглям нещо, това е някакъв архивен файл - обикновено tarball или zip файл. Това може да е някакъв изходен код за приложение, което не е включено в дървото Portage на Gentoo, някаква документация за вътрешно корпоративно приложение или дори нещо като обикновена като нова WordPress инсталация.
Традиционният начин за изтегляне и премахване на нещо в терминала ще бъде нещо подобно:
wget http://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz
rm latest.tar.gz
Или може би по-компактната форма:
wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz
Така или иначе е малко тромав. Това е много проста операция, мощната обвивка като bash трябва да позволява подобна задача да бъде изпълнена по-гладко.
Е, благодарение на полезната малка команда "curl", можем да постигнем по-горе бъркотията само в едно изречение:
curl http://wordpress.org/latest.tar.gz | tar xvz
Няма временни файлове, за да се отървете от тях, без да се бърка с амперсанди. Накратко, една изключително компактна, ефективна команда. Всъщност, от теоретична гледна точка, методът на къдрене може да бъде по-бърз от конкатенираната wget / tar / rm бърза, тъй като stdout тръбопроводи ще използват RAM като буфер, ако е възможно, докато wget и tar (с ключа -f) трябва да четат / пишат директно от диск.
Между другото, tar с опцията -v (начинът, по който го използваме във всички по-горе примери) отпечатва всяко име на файл в stdout, тъй като всеки от тях е неспореден. Това може да попречи на хубавото на curl, ncurses изход, показващ статуса на изтегляне. Можем да заглушим катрана, като го извикваме без -v по този начин:
curl http://wordpress.org/latest.tar.gz | tar xz
И това е всичко!