Извличане на файлове с wget
Може би вашият X сървър е разбил. Или работите върху скрипт на shell. Или сте SSHed в сървър без глава. По една или друга причина, ако трябва да вземете файл и уеб браузърът не е опция, може да искате да погледнете в wget. Ако сте използвали Linux корицата много и сте работили със скриптове или инсталатори на пакети, има добър шанс да сте видели wget в действие. На най-простото ниво, то прави точно това, което името предполага и получава файл от мрежата (или FTP). Под това обаче има някаква умна функционалност.
Основите
Както бе отбелязано по-горе, wget най-често се използва за бързо отнемане на файл от някъде в мрежата.
wget http://mydomain.com/file.zip
Което просто ще вземете файла и го запишете в текущата директория.
Ако искате да запишете друго име на файл или друго местоположение, използвайте флага "-O".
# Забележете, че това е столица "О" не нула или малка "o" wget http://download.maketecheasier.com/Firefox_shortcut_keys.pdf -O Documents / ffkeys.pdf
Може да изтегляте няколко файла, в който случай може да искате да посочите местоположение за всички файлове за изтегляне. Просто използвайте знака -P (или -директория-префикс = LOCATION ), за да посочите къде отиват.
Както можете да видите, това е много изход. Нека да опитаме опцията -q, за да я почистим, което го прави по-подходящ за скриптове.
wget -q http://mydomain.com/file.zip
По същия начин можете да използвате опцията -nv само за малко изход, но не толкова, колкото е по подразбиране.
Фантастични неща
Какво ще стане, ако изтеглянето ви не бе успешно и искате да продължите? Какво става, ако файлът вече съществува и не искате да го презапишете? Има опции за справяне с тези, както и с няколко други ситуации.
За да възобновите счупено изтегляне, бихте използвали фрагмента -c (или -продължете )
Ако трябва да се уверите, че вашата команда (или скрипт) не презаписва съществуващи файлове, използвайте опцията -nc (за не-clobber)
Има моменти, в които не можете да сте сигурни дали имената на файловете ще бъдат чувствителни към малки и големи букви в двата края, но флагът " прикачване на случай" ще отхвърли този проблем.
За да ограничите скоростта на изтегляне, използвайте опцията -limit-rate = RATE, както е показано по-долу.
wget --limit-rate = 20000 http://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso
FTP Опции
Както бе отбелязано по-рано, wget поддържа и FTP. Ако просто зададете FTP сайт, като
wget ftp://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso
wget ще предположи, че искате анонимно влизане. Ако това не е така, можете ръчно да посочите неща като потребителско име и парола със следните флагове:
- -ftp-user = USER Определя потребителското име за вход
- -ftp-password = PASS Задава парола
- -passive-ftp Забранява пасивния режим на прехвърляне.
Освен няколко други за напреднали случаи на употреба.
Timeouts, повторения и неуспешни файлове за изтегляне
И накрая, wget идва с няколко опции, свързани с проблемите със свързването със сървъри и timeouts. Не всички неуспехи могат да бъдат разглеждани, разбира се, но следните знамена са предназначени да помогнат за справянето със сървърните проблеми:
- -tries = NUMBER Посочете броя пъти, за да опитате повторно изтеглянето
- -retry-connrefused Повторното изтегляне дори ако връзката се откаже от сървъра.
- -continue Подновява непълното изтегляне, използвано като -c по - горе
- -timeout = SECONDS Глобална настройка - колко дълго трябва да изчакате, преди да изтече времето
- -wait = SECONDS Колко дълго да чакате между успешните изтегляния (ако се повтаря)
заключение
За такава проста, основна, вградена помощна програма, Wget има изненадващо количество, което може да предложи. Следващия път, когато откриете, че пишете скрипт за черупки в интернет, или че трябва да получите липсващия файл на драйвера на вашия счупен компютър, дайте уайт изстрел. Ако имате някакви интересни истории за това, как ви wget ви измъкна от конфитюр, уведомете ни в коментарите по-долу.