Wget команды. Справочник по командам Wget (скачивание файла из Интернет)


Кому-то может показаться, что в мире, где 50% населения активно пользуется компьютерами и привыкли к стильным графическим интерфейсам с богатыми возможностями, нет места для текстовых приложений. Примерно 20 лет назад интерфейс персонального компьютера представлял собой страшную панель черного цвета, на которой не отображалось ничего, кроме набора белых символов. Все управление сводилось к выполнению текстовых команд. Эти команды были уродливы, но при этом весьма надежны и функциональны.

Что такое Wget? Wget – это не интерактивное консольное приложение для работы с веб-страницами и файлами. По сути, это простая программа для скачивания файлов из сети Интернет, которая отличается отсутствием графического интерфейса и рядом особенностей управления, которые нельзя назвать типичными для современных решений. Разработал программу Wget инженер из Хорватии Хрвожи Никшич. Сегодня разработку поддерживает Джузеппе Скривано и сообщество Linux. Первая сборка программы, которая в то время еще называлась GetURL, была представлена в 1996 году. Написана программа была на языке программирования C. Создавалась она по лицензии GNU. Инструмент изначально был выпущен на платформе Linux. Со временем программа была переведена на множество языков. Появились версии для наиболее популярных операционных систем, таких как Windows 7 и более новых. Также можно найти Wget для MacOS. Данная программа не является интерактивной. Это означает, что любой процесс, который был запущен в рамках ее возможностей, нельзя взять под контроль. Можно управлять им только путем обращения к средствам самой операционной системы. Несмотря на то, что в современных браузерах обычно имеется встроенный менеджер загрузок, они все рассчитаны на интерактивное взаимодействие, поэтому работа в ручном режиме оказывается серьезно затруднена. Wget , напротив, дает возможность автоматизировать ряд процессов. Так, например, имеется возможность заранее подготовить текстовый документ с перечнем веб-страниц, используя который можно сразу загрузить несколько страниц и файлов.

Wget: основные функции программы

Прежде всего, стоит отметить, что Wget представляет собой программу для скачивания файлов. Поэтому ее основная функция очевидна. Wget может загружать любые материалы из сети Интернет, будь то исполнительные файлы, документы или целые веб-страницы в формате HTML. Можно также загружать файлы из директорий по протоколу FTP. Клиент может осуществлять рекурсивную загрузку в автоматическом режиме, путем перехода по ссылкам в рамках определенного веб-сайта или нескольких веб-сайтов, восстанавливая при этом изначальную структуру веб-страницы. Существует возможность просмотра загруженных веб-сайтов без доступа к сети. Wget изначально адаптировался под нестабильные и медленные типы подключений. Его важной особенностью является возможность восстановления прерванной загрузки файла. Это оказывается возможным в том случае, если сервер поддерживает заголовки RANGE. Wget также может мониторить состояние серверов для дозагрузки и обновления веб-страницы и файлов. При этом Wget проверяет заголовки файлов и поддерживает самую свежую версию. В программе имеется ряд возможностей, которые являются типичными для так называемых утилит-пауков. Такие утилиты исследуют различные сайты и серверы на предмет наличия определенных файлов.

Wget: поддерживаемые платформы

Как уже должно быть ясно, базой для Wget стал Linux. Как ранее уже было сказано, изначально данная утилита работала только на Linux.Однако она быстро набрала популярность и была адаптирована для использования в других системах. Так, к примеру, можно найти версию Wgetдля операционной системы Windows 7 и более современных операционных систем. Имеются также сборки с графическим интерфейсом. Что же касается операционной системы Linux, то Wget нередко вшивается в дистрибутив. В некоторых сборках операционной системы Linux терминалы изначально поддерживают команды Wget. Такие потребительские дистрибутивы, как Ubuntu, open SUSE, Fedora работают с программой Wget из коробки. Далее мы более подробно рассмотрим программу.

Команды Wget: список основных параметров

К основному списку команд Wget относятся:

— V – позволяет определить версию программы, используемую в данный момент;

— h — показывает наиболее полный список команд для работы с приложением;

— b – дает возможность перевести программу в фоновый режим.

Список параметров сообщений команд Wget дает возможность полностью контролировать всю отображаемую информацию. Приведем примерный список:

— ologfile – создает файл-журнал, в который записывается весь процесс работы приложения;

— alogfile – дает возможность дополнить существующий файл-журнал вместо создания нового журнала;

— d – отображает информацию, необходимую разработчикам и отладчикам, помогать решать проблемы и исправлять ошибки, возникающие в процессе работы клиента;

— q – отвечает за отображение сообщений;

— v – предоставляет подробный отчет обо всех процессах, которые в реальном времени происходят в программе;

— nv – сокращает информацию, которую пользователь получает в сообщениях. В результате остается только необходимая информация и оповещения о возникающих ошибках;

— i-file – команда позволяет выполнить сканирование файла, вычленив из него ссылку, при этом можно использовать файлы различных форматов, в том числе и HTML, однако в случае использования данной команды не стоит в командной строке указывать путь к файлу;

— f – провоцирует программу на чтение файла как HTML. В случае использования данной команды для работы с локальным документом HTML может возникнуть ошибка.

Список параметров загрузки

Приведем базовый перечень команд для работы с загрузкой файлов при помощи программы Wget.

  • Bind-address=ADDRESS – эта команда дает возможность передать данные bind в ADDRESS локальной машины. Команда необходима при использовании соединения TCP/IP для точного указания адреса IP или нескольких;
  • t-number (необходимо указать число) – позволяет пользователю выбрать количество повторов загрузки. Значение number, чтобы избежать повторов следует указать равным нулю.
  • nc – эта команда дает возможность вернуть загружаемый файл в прежнее состояние в том случае, если произошел сбой сети и загрузка был прервана. Если не использовать команды для дозагрузки (-r, -nc, — N), Wget создаст его копию и заново начнет загрузку.
  • r – позволяет заменить существующие файлы;
  • c – способствует дозагрузке файла при потере соединения и в том случае, если Wget прекратил самостоятельные попытки для восстановления подключения. Перед ссылкой на файл достаточно просто указать данную команду. Если аналогичный файл найдется в используемой директории, то Wget выполнит его идентификацию и примет в автоматическом режиме решение о дозагрузке. Можно использовать команду только на тех серверах, в которых имеется поддержка заголовков RANGE.
  • Progress – дает возможность выбрать тип отображения прогресса загрузки. Можно указать progress=dot или progress=bar;
  • Spider – заменяет команду загрузки файла на проверку наличия на сервере;
  • w – указывает время перерыва между загрузками;
  • q – позволяет регулировать размер загружаемых файлов и лимитировать чрезмерный объем. Стоит отметить, что вне зависимости от выставленной квоты один файл будет загружен (то есть, данная опция не будет работать с одним файлом, какой-бы вес он не имел);

Перечень параметров HTTP

— http-user и http-password – дают возможность указать логин и пароль для авторизации на ресурсе, с которого будут загружаться файлы;

— C=on/off – дает возможность включить или отключить кэширование информации на стороне сервера;

— cookies=on/off – то же самое, только для cookies – дает возможность остановить или возобновить обмен данными cookie, которые необходимы серверу для ведения статистики посещений. Данная опция включена по умолчанию, однако cookie-файлы не сохраняются на жестком диске;

— proxy-user и proxy-passwd – дает возможность указать логин и пароль для авторизации на прокси-сервере, если он задействован.

Список параметров FTP

Приведем список более продвинутых параметров для работы с Wget:

— nr – устанавливает запрет на удаление временных файлов из директории listing, которые самопроизвольно генерируются при работе с FTP;

— gon/off – дает утилите возможность использовать специальные символы в директориях FTP;

— passive-ftp – можно использовать данную команду при наличииFirewall, чтобы активировать пассивный режим FTP.

Команды Wget: примеры использования

Самый простой и банальный пример работы с программой Wget – это, конечно же, загрузка файлов. Для того чтобы протестировать команды Wget, можно начать с простого. Достаточно просто найти ссылку на какой-либо файл в сети и ввести в консоль terminal: Wget*ссылка с указанием пути к файлу*. Для того чтобы продолжить загрузку файла, необходимо использовать следующую команду: Wget-c*ссылка с указанием полного и точного пути к файлу*. Если у вас имеется запланированный список со ссылками на документы и файлы, то можно использовать следующую команду: Wget –Ifilelist.txt. Что же касается процесса загрузки веб-страниц, то здесь все немного сложнее. Но и возможностей при этом намного больше. Чтобы каждый раз не вводить параметры, когда возникает необходимость загрузки веб-сайта, можно создать скрипты или прописать все настройки в файле.wgetrc. Чтобы сохранить веб-страницу в виде ссылок, необходимо использовать команду Wget–m*ссылка с указанием точного и полного пути к файлу*. Чтобы страница была доступна для просмотра без подключения к интернету, можно использовать команду Wget-r – 10 – k *ссылка с указанием полного и точного пути к файлу*. Возникновение ошибки типа команда Wget не найдена может означать, что была допущена опечатка или параметр был указан неправильно.

Wget –это в основном инструмент командной строки, который позволяет неинтерактивную загрузку файлов из Интернета. Неинтерактивный- это значит то, что программа может работать в фоновом режиме, пока пользователь не вошел в систему. Поддерживаемые протоколы включают HTTP, HTTPS и FTP.

Wget также поддерживает извлечение через http-прокси, и "вы можете перейти по ссылкам с HTML, XHTML и CSS на страницы, создавать там локальные версии удаленных веб-узлов, полностью воссоздав структуру каталогов оригинального сайта."

Как работает Wget?

В следующих разделах описываются основы использования инструмента Wget, а также его особенности.

1. Как скачать файл с помощью wget ?

Файл- инструмент загрузки будет сохранен в текущем рабочем каталоге пользователя. Вот как вы можете использовать wget при скачивании файла:

Wget

Вот пример скриншота:

2. Как возобновить загрузки с помощью Wget?

В случае, если ваши текущие загрузки прервались из-за плохого интернет-соединения или по какой-либо другой причине, вы можете возобновить их, повторив ту же команду еще раз, но с использованием командной строки -с:

Wget -c

Вот пример скриншота (см. вторая команда):

Таким образом, вы можете увидеть, что, когда команда Wget была запущена во второй раз с опцией -c, загрузка началась с того же места, где была остановлена. Эта опция также будет работать, если вы захотите закончить загрузку, начатую в других программах, Wget.

3. Как скачать файл имеющий другое имя?

По умолчанию, Wget сохраняет файл с тем же именем, которое он несет в Интернете. Но если вы хотите, вы также можете сохранить загруженный файл с другим именем. Эта функция осуществляется с помощью команды -O (верхний регистр) параметра командной строки.

$ wget -O

Вот пример скриншота:

4. Как перенаправить wget-вывод в файл журнала?

Если вы хотите, вы также можете перенаправить сообщения/информацию через wget, который выдает вывод на стандартный файл журнала. Это можно сделать с помощью -о (строчной) параметра командной строки.

$ wget -o

Вот пример снимка:

Как вы можете видеть на скриншоте выше, нет вывода или сообщения отображающихся на стандартный вывод. Это потому, что все сообщения перенаправляются на файл журнала с именем «abc.log».

Вы можете просмотреть лог-файл с помощью команды Cat.

$ cat abc.log

Вот что пишет лог-файл в нашем случае:

5. Как скачать файлы в фоновом режиме с помощью wget

Используя этот инструмент, вы можете качать файлы в фоновом режиме. Загруженный файл будет сохранен с именем ‘wget-log.’. Эта функция доступна с помощью -б параметра командной строки.

$ wget -b

Вот пример:

Обратите внимание, что вы можете изменить имя файла с помощью-o (в Нижнем регистре) как это сделать мы объяснили ранее.

6. Как ограничить скорость загрузки при использовании Wget?

При использовании Wget, вы также можете ограничить скорость загрузки. Это можно сделать с помощью опции -limit-rate, которая требует значения в байтах в секунду. Сумма может быть в байтах, килобайтах с суффиксом«K» или мегабайтах с суффиксом «M».

$ wget –limit-rate=

Вот пример, как ограничить скорость загрузки до 50к:

7. Как изменить время чтения команды wget ?

Тайм-аут чтения-это количество времени (в секундах), за которое проверяются данные с использованием wget (в случае не получения данных), прежде чем возобновить загрузку. По умолчанию тайм-аута чтения длится 900 секунд, но вы можете изменить время с помощью чтения-тайм-аут.

$ wget –read-timeout=

Вот пример:

8. Как изменить количество повторных попыток?

Если загрузка прерывается из - за плохого подключения к Интернету или из-за любой другой ошибки, инструмент пытается возобновить загрузку. По умолчанию, утилит пытается это сделать 20 раз, а затем останавливается. Но если вы хотите увеличить или уменьшить число попыток, вам следует воспользоваться опцией -t командной строки.

$ wget -t

Вот пример:

Как вы видите на скриншоте выше, wget сдался после двух попыток.

Примечание: Эта функция,за исключением критических ошибок "отказ в соединении" или "не найдено" (404), не повторяется.

9. Как заставить wget отображать отладочную информацию?

Если вы хотите, вы также можете сделать так,чтобы команда wget отображала дополнительную информацию, относящеюся к процессу загрузки. Эта информация полезна для отладки, если инструмент работает неправильно. Функцию можно получить с помощью –debug или -D параметров.

$ wget –debug

Вот пример:

10. Как изменить индикатор выполнения загрузки Wget ?

Если вы хотите, вы также можете изменить индикатор загрузки файла отображающегося в выходных данных. Существует два типа показателей: bar (который по умолчанию) и dot. Тем не менее, если выход не отображается на терминале (TTY), то точка индикатора используется по умолчанию.

Опция --progress позволяет выбрать тип индикатора,если вы хотите переопределить поведение по умолчанию. Например:

$ wget --progress=dot

$ wget -–progress=:

«type» может быть bar или dot в то время как «параметр» может определятся по умолчанию, двоичный, мега или гига.

Например, если вы хотите установить «type» в качестве dot и двоичный «parameter», то вы можете использовать следующую команду:

$ wget -–progress=dot:binary

Вот пример:

Обратите внимание на то,какой параметр вы выбираете (двоичный, мега или гига), как правило,это зависит от размера загружаемого файла. Вот что на Man-странице говорит об этих стилях:

В стиле "по умолчанию" каждая точка соответствует 1к, то есть десять точек в кластере и 50 точек в линии. "Бинарный" стиль более компьютезированный как ориентация---8к dots, 16-dots кластеров и 48 dots в строке (для 384 тыс. строк). "Мега" стиль подходит для скачивания больших файлов---каждая точка представляет 64К, существует восемь dots на кластер и 48 dots в каждой строке (так что каждая строка содержит 3М). Если "мега" не достаточно, то вы можете использовать "гига" стиль---каждая dots представляет 1М проверено восемь dots в кластере, и 32 dots в каждой строке (так каждая строка содержит 32М).

Заключение

Это совсем немного из тех дополнительных опций командной строки,что предлагает wget. Однако, тех, которые мы здесь обсудили, должно быть достаточно. Попробуйте эти, и в случае каких-либо сомнений или запроса, обратитесь к команде Man.

GNU Wget - это маленька полезная и открыто распостраняемая утилита для загрузки файлов из интернет. Она поддерживает протоколы HTTP , HTTPS , и FTP , загрузку с серверов прокси по протоколу HTTP . Среди возможностей программы стоит отметить:

  • Обход сайта: Wget может переходить по ссылкам на HTML страницах и создавать локальные копии удаленных сайтов web, при этом возможно полное восстановление структуры папок сайта ("recursive downloading" - рекурсивная загрузка). Во время такой работы Wget ищет файл с правами доступа для роботов (/robots.txt). Возможна также конвертация ссылок в загруженных файлах HTML для дальнейшего просмотра сайта в автономном режиме ("off-line browsing").
  • Проверка заголовков файлов: Wget может считывать заголовки файлов (это доступно по протоколам HTTP и FTP) и сравнивать их с заголовкам ранее загруженных файлов, после чего может загрузить новые версии файлов. Это позволяет использовать Wget для зеркального хранения сайтов или набора файлов на FTP.
  • Продолжение загрузки: если во время загрузки возникнет проблема, то Wget будет пытаться продолжить загрузку файла. Если сервер, с которого загружается файл, поддерживает докачку файлоа, то Wget продолжит загружать файл именно с того места, где оборвалась загрузка.

Файлы конфигурации:

/usr/local/etc/wgetrc - Расположение файла настроек по умолчанию.
.wgetrc - Файл настроек пользователя конкретного пользователя (расположен не инначе как в папке этого пользователя).

Синтаксис:

wget [параметры ] [URL ]

Параметры:

  • -V (--version) - Отобразить версию Wget.
  • -h (--help) - Отобразить параметры командной строки Wget.
  • -b (--background) - Перейти в фоновый режим после запуска. Если файл для сообщений не указан параметром -o, то он записывается в wget-log
  • -e command (--execute command) - Выполнить command как если бы она была частью .wgetrc . Команда будет выполнена после команд в .wgetrc .

Параметры сообщений:

  • -o logfile (--output-file=logfile) - Записывать все сообщения в logfile . Иначе они будут направлены в stderr.
  • -alogfile (--append-output=logfile) - Дополнить logfile . Как и -o, только logfile не заменяется, а дополняется. Если logfile не существует, создается новый файл.
  • -d (--debug) - Отображать сообщения отладки - разная информация, важная для разработчиков Wget.
  • -q (--quiet) - Выключить сообщения Wget.
  • -v (--verbose) - Включить подробные сообщения, со всеми доступными данными. По умолчанию включено.
  • -nv (--non-verbose) - Исопльзовать сокращенные сообщения (чтобы выключить сообщения, см. -q). Сообщения об ошибках и основная информация будут отображаться.
  • -ifile (--input-file=file) - Считать URL из file . В этом случае указывать URL в командной строке не требуется. Если URL указаны и в командной строке и в file , то сначала будут загружены URL из командной строки. file не обязательно должен иметь формат HTML (но ничего страшного, если это так) -- URL просто должны быть указаны в нем. (Если вы укажете --force-html, то файл будет прочтен как html. В этом случае могут возникнуть проблемы с относительными ссылками. Это можно предотвратить добавлением в него "" или вводом в командной строке --base=url .)
  • -F (--force-html) - При чтении URL из файла, включает чтение файла как HTML. Для предотвращения ошибок в случае локального файла HTML добавьте в файл "" или введите параметр командной строки --base.
  • -BURL (--base=URL) - При чтении URL из файла (-F) определяет URL , добавляемый к относительным адресам файла, указанного параметром -i.

Загрузка

  • --bind-address=ADDRESS - При соединениях по протоколам TCP/IP передает "bind()" в ADDRESS на локальной машине. В ADDRESS может быть указано как имя хоста, так и IP адрес. Используется, если ваш компьютер имеет несколько адресов IP.
  • -t number (--tries=number) - Устанавливает число повторов number . Укажите 0 или inf для отмены повторов.
  • -O file (--output-document=file) - Документы не будут записываться в соответствующие файлы, а будут объединены вместе и записаны в файл file . Если file существует, то он будет заменен. Если file указан, как -, то документы будут выводиться на стандартный вывод (stdout). Этот параметр автоматически устанавливает число повторов в 1. Полезен при закачке разделенных на части файлов с почтовых серверов через интерфейс web.
  • -nc (--no-clobber) - Если при загрузке сайта связь оборвалась, то укажите этот параметр для продолжения загрузки с места прерывания связи.

При запуске Wget без параметров -N, -nc, или -r загрузка одного и того же файла в одну папку приведет к созданию копии файла с именем file .1. Если существует файл и с таким именем, третья копия будет называться file .2 и т.д. При параметре -nc будут выводиться предупреждения об этом.

При запуске Wget с параметром -r, но без -N или -nc, новая загрузка сайта приведет к замене уже загруженных файлов. При указании параметра -nc загрузка продолжится с места обрыва и загруженные файлы не будут загружаться заново (если только они не изменились).При запуске Wget с параметром -N, с или без -r, файл будет загружен только если он новее уже существующего, или если размер его не совпадает с имеющейся копией (см. Сравнение по дате). -nc не комбинируется с -N.При указанном параметре -nc файлы с расширениями.html или (вот это просто ужасно) .htm с локальных дисков будут загружаться, как будто бы из интернет.

  • -c (--continue) - Возобновление загрузки файла. Используется, если загрузка файла была прервана. Например:

Если в текущей папке уже есть файл с именем ls-lR.Z , то Wget проверит, соответствует ли данный файл загружаемому (не по размеру!), и если это так, то отправит запрос на сервер на продолжение загрузки файла с того же места, где оборвалась загрузка в прошлый раз. Помните, что при обрыве связи Wget повторяет попытки дозагрузки самостоятельно и без параметра -c, и только когда он "сдастся" и завершит свою работу, то для возобновления загрузки файла будет нужен этот параметр.

Без указания опции -c предыдущий пример приведет к загрузке указанного файла заново с конечным именем ls-lR.Z.1 , никак не трогая уже имеющийся ls-lR.Z .

Начиная с версии 1.7 при указании параметра -c если файл на сервере имеет равный или меньший, чем у локального файла, размер, то Wget не будет ничего загружать и отобразит соответствующее сообщение.

При использовании -c любой файл на сервере, имеющий больший размер, чем локальный файл, будет рассматриваться, как недокачанный. При этом будут загружены и записаны в конец файла только "недостающие" байты большего фоайла. Это может пригодиться, елси вам нужно загрузить новые сообщения из какого-либо журнала (log).

При этом если загружаемый файл больше потому, что он изменился , то вы получите поврежденный файл (т.е. файл может в итоге получиться совершенно отличным от оригинала). Нужно быть особенно внимательным при использовании -c вместе с -r, так как каждый измененный файл может быть кандидатом на ``незавершенную загрузку"".

Вы также получите поврежденный файл если ваш сервер прокси HTTP работает глупо и при обрыве соединения пишет в файл сообщение ""transfer interrupted"". Вероятно, в следующих версиях Wget сам будет исправлять это.

Помните, что -c работает только с серверами FTP и HTTP, поддерживающими заголовки "Range" (т.е. докачку файлов).

  • --progress=type - Индикатор прогресса загрузки и его тип. Возможные значения: ``dot"" и ``bar""

По умолчанию используется ``bar"". Указание опции --progress=bar приведет к прорисовке красивого индикатора из символов ASCII (как ""термометр""). Если стандартный выход не TTY, то будет использован ``dot"".

Укажите --progress=dot чтобы переключится на тип ``dot"". Прогресс загрузки будет отмечаться добавлением в полосе точки или знака равно, каждый символ представляет одинаковое количество данных.

При использовании этого типа, вы можете указать его стиль - dot:style . Если стиль "default", то каждый символ будет представлять 1 Kб, 10 символов в кластере и 50 в строке. Стиль "binary" имеет более ""компьютерный"" вид - 8Kб в символе, 16 символов в кластере и 48 символов в строке (получается строка на 384 Kб). Стиль "mega" используется для загрузки больших файлов - каждый символ представляет 64Kб, 8 символов в кластере и 48 символов в строке (получается 3 Mб на строку).

Вы можете определить стиль по умолчанию, используя команду "progress" в .wgetrc . Если вы хотите, чтобы тип индикатора ``bar"" использовался всегда (а не только при выводе в stdout), то укажите --progress=bar:force.

  • -N (--timestamping) - Включить сравнение по дате.
  • -S (--server-response) - Отображать заголовки, отправляемые серверам HTTP и запросы, отправляемые серверам FTP.
  • --spider - Установка поведения Wget как "паука", т. е. Wget не будет загружать файлы, а только будет проверять их наличие. Так можно проверять закладки и ссылки сайта. Например:

wget --spider --force-html -i bookmarks.html

Wget не содержит все возможности "настоящих пауков" для WWW.

  • -T seconds (--timeout=seconds) - Время ожидания в секундах. По умолчанию время ожидания равно 900 с (15 мин). Установка значения в 0 отменяет проверку времени ожидания. Пожалуйста, не снижайте значение времени ожидания, если Вы точно не знаете, что именно делаете.
  • -w seconds (--wait=seconds) - Пауза в секундах между несколькими загрузками (в т.ч. повторами). Это снижает загруженность сервера. Чтобы указать значение в минутах, используйте"m", в часах -"h", в днях -"d" после числа. Указание большого значения этого параметра полезно, если сеть нестабильна (например при обрывах модемной связи).
  • --waitretry=seconds - Устанавливает паузу только между повторами оборвавшихся загрузок. Wget будет ждать 1 секунду после первого обрыва, 2 секунды после второго обрыва загрузки того же файла, и т.д. - до максимума, который указывается в секундах. Например, при значении данного параметра, равного 10, Wget будет ждать в общем (1 + 2 + ... + 10) = 55 секунд для каждого файла. Это значение указывается по умолчанию в файле wgetrc .
  • --random-wait - Некоторые серверы, совершая формирование файлов журналов с паузами запросов файлов, могут определить рекурсивную загрузку файлов - сканирование роботами, такими, как Wget. Этот параметр устанавливает время между запросами, варьируя паузы со временем, рассчитываемым от 0 до 2*wait (секунд), где wait указано параметром -w для маскировки Wget. Нельзя забывать, что исходный код Wget доступен, и пэтому даже эту маскировку при желании можно вычислить.
  • -Y on/off (--proxy=on/off) - Поддержка сервера прокси. Включена по умолчанию, если прокси определен.
  • -Q quota (--quota=quota) - Квота на размер загружаемых файлов. Указывается в байтах (по умолчанию), в килобайтах Кб (если в конце k) или в мегабайтах Мб (если в конце m).

При исчерпании квоты текущий файл загружается до конца, то есть квота не работает при загрузке одного файла..gz, то файл ls-lR.gz будет полностью загружен. Также все указанные в командной строке файлы будут обязательно загружены, в отличие от списка файлов в одном файле или как при рекурсивной загрузке.

Указание 0 или inf отменит квоту.

Параметры загрузки папок

  • -nd (--no-directories) - Не создавать структуру папок при рекурсивной загрузке. При указанном параметре, все файлы будут загружаться в одну папку. Если файл с данным именем уже существует, то он будет сохранен под именем ИмяФайла.n.
  • -x (--force-directories) - Противоположно параметру -nd - создавать структуру папок, начиная с главной страницы сервера..txt приведет к загрузке файла в папкуfly.srk.fer.hr .
  • -nH (--no-host-directories) - Не создавать пустые папки в начале структуры. По умолчанию /pub/xemacs/. Если вы загрузите ее с параметром -r, то она сохранится под именем ftp.. С параметром -nH из имени начальной папки вырежется ftp.сайт/ , и она будет называться pub/xemacs . А параметр --cut-dirs уберет number компонентов.

Если вы хотите просто избавиться от структуры папок, то вы можете заменить этот параметр на -nd и -P. В отличие от -nd, -nd работает с подкаталогами - например, при -nH --cut-dirs=1 подкаталог beta/ запишется, как xemacs/beta .

  • -P prefix (--directory-prefix=prefix) - Определяет начальную папку , в которой будет сохранена структура папок сайта (или просто файлы). По умолчанию этот параметр равен. (текущая папка).

Параметры HTTP

  • -E (--html-extension) - Если тип загруженного файла text/html и его адрес не оканчивается на \.?, при использовании данного параметра к его имени будет добавлено.html. Это может быть полезно при зеркальном хранении страниц.asp, если вы не хотите, чтобы они вмешивались в работу вашего сервера Apache. Другой случай применения этого парамера - это загрузка страниц-ответов CGI скриптов..cgi?25 будет сохранена, как article.cgi?25.html . (При обновлении или другой перезагрузке страниц с данным параметром последние будут загружаться заново в любом случае, т.к. Wget не может узнать, имеет ли отношение локальный файл X.html к загружаемому с URLX . Чтобы избежать лишней перезагрузки, используйте опции -k и -K. При этом оригинальные версии файлов будут также сохранены как X.orig .)
  • --http-user=user (--http-passwd=password) - Имя пользователя user и пароль password для сервера HTTP. В зависимости от типа отклика, Wget будет использовать"basic" (небезопасную) или"digest" (защищенную) авторизацию. Можно также указывать имя пользователя и пароль и в самом URL.
  • -C on/off (--cache=on/off) - Включает или выключает кеширование со стороны сервера. При этом Wget посылает соответствующих запрос (Pragma: no-cache). Также используется для быстрого обновления файлов на прокси-сервере. По умолчанию кеширование разрешено.
  • --cookies=on/off - Включает или выключает использование cookie. Сервер отправляет клиенту cookie, используя заголовок "Set-Cookie" и клиент отвечает таким же cookie. Благодаря этому сервер может вести статистику посетителей. По умолчанию cookie используются, но запись их на диск выключена.
  • --load-cookiesfile - Загружать cookie из file перед первой загрузкой HTTP. file имеет текстовый формат, как cookies.txt у Netscape. Этот параметр используется при зеркалировании. Для этого Wget отправляет те же cookies, которые отправляет ваш браузер при соединении с сервером HTTP. Это включается данным параметром - просто укажите Wget путь к cookies.txt . Разные браузеры хранят cookie в разных папках:

Параметр --load-cookies будет работать с cookie в формате Netscape, который поддерживается Wget.

Если вы не можете использовать параметр --load-cookies, то все равно есть выход. Если ваш обозреватель поддерживает Запишите имя и значение cookie и вручную укажите Wget отправку этих cookie: wget --cookies=off --header "Cookie: I=I"

  • --save-cookies file - Сохранить cookie из file в конце сессии. Устаревшие cookie не сохраняются.
  • --ignore-length - Некоторые серверы HTTP (точнее, скрипты CGI) отправляют заголовки"Content-Length", которые указывают Wget, что загружено еще не все. И Wget загружает один документ несколько раз. С этим параметром, Wget будет игнорировать заголовки "Content-Length".
  • --header=additional-header - Определяет additional-header , отправляемый серверу HTTP. Он должен содержать: и символы после него. Вы можете определить несколько дополнительных заголовков через использование --header несколько раз.

wget --header="Accept-Charset: iso-8859-2" --header="Accept-Language: hr" http://сайт/ Указание пустой строки в значении заголовка очистит все определенные пользователем до этого заголовки.

  • --proxy-user=user и --proxy-passwd=password - Определяет имя пользователя user и пароль password для авторизации сервере прокси. Будет использован тип авторизации "basic".
  • --referer=url - Добавляет заголовок `Referer: url " в запрос HTTP. Используется при загрузке страниц, которые передаются правильно только если сервер знает, с какой страницы вы пришли.
  • -s (--save-headers) - Сохранять заголовки, отправляемые серверам HTTP.
  • -U agent-string (--user-agent=agent-string) - Идентифицироваться, как agent-string при запросе на HTTP сервер. Протокол HTTP позволяет определять себя использованием заголовка агента. Wget по умолчанию идентифицируется, как Wget/version , где version - это версия Wget. Некоторые серверы выдают требуемую информацию только для обозревателей, идентифицирующихся как "Mozilla" или Microsoft "Internet Explorer". Этот параметр позволяет обмануть такие серверы.

Параметры FTP

  • -nr (--dont-remove-listing) - Не удалять временные файлы .listing , генерируемые при загрузке по FTP. Эти файлы содержат информацию о папках серверов FTP. Неудаление поможет вам быстро определить обновление папок сервера (т.е. определять., что ваше зеркало является таковым). Если вы не удаляете .listing , то помните о своей безопасности! Например, с таким именем можно создать символическую ссылку на /etc/passwd или что-то еще.
  • -g on/off (--glob=on/off) - Включает или выключает использование специальных символов (маски ) по протоколу FTP. Это может быть *, ?, [ и ]. Например:

wget ftp://сайт/*.msg

По умолчанию использование символов маски разрешено, если URL содержит такие символы. Вы можете также взять URL в кавычки. Это сработает только на серверах Unix FTP (и эмулирующих выход Unix "ls").

  • --passive-ftp - Включает пассивный режим FTP, когда соединение инициируется клиентом. Используется при наличии firewall.
  • --retr-symlinks - При рекурсивной загрузке папок FTP файлы, на которые указывают символические ссылки, не загружаются. Данный параметр отключает это. Параметр --retr-symlinks работает сейчас только для файлов, не для папок. Помните, что этот параметр не работает при загрузке одиночного файла.

Параметры рекурсивной загрузки

  • -r (--recursive) - Включить рекурсивную загрузку.
  • -l depth (--level=depth) - Максимальная глубина рекурсивной загрузки depth . По умолчанию ее значение равно 5.
  • --delete-after - Удалять каждую страницу (локально) после ее загрузки. Используется для сохранения новых версий часто запрашиваемых страниц на прокси. Например:

wget -r -nd --delete-after http://сайт/~popular/page/

Параметр -r включает загрузку по умолчанию, параметр -nd отключает создание папок. При указанном параметре --delete-after будет игнорироваться параметр --convert-links.

  • -k (--convert-links) - После завершения загрузки конвертировать ссылки в документе для просмотра в автономном режиме. Это касается не только видимых ссылок на другие документы, а ссылок на все внешние локальные файлы. Каждая ссылка изменяется одним из двух способов:

Например: если загруженный файл /foo/doc.html, то ссылка на также загруженный файл /bar/img.gif будет выглядеть, как../bar/img.gif. Этот способ работает, если есть видимое соотношение между папками одного и другого файла.
Ссылки на файлы, не загруженные Wget будут изменены на абсолютные адреса этих файлов на удаленном сервере.

Например: если загруженный файл /foo/doc.html содержит ссылку на /bar/img.gif (или на../bar/img.gif), то ссылка в файле doc.html изменится на http://host/bar/img.gif.

Благодаря этому, возможен автономный просмотр сайта и файлов: если загружен файл, на который есть ссылка, то ссылка будет указывать на него, если нет - то ссылка будет указывать на его адрес в интернет (если такой существует). При конвертировании используются относительные ссылки, значит вы сможете переносить загруженный сайт в другую папку, не меняя его структуру. Только после завершения загрузки Wget знает, какие файлы были загружены. Следовательно, при параметре -k конвертация произойдет только по завершении загрузки.

  • -K (--backup-converted) - Конвертировать ссылки обратно - убирать расширение.orig. Изменяет поведение опции -N.
  • -m (--mirror) - Включить параметры для зеркального хранения сайтов. Этот параметр равен нескольким параметрам: -r -N -l inf -nr. Для неприхотливого хранения зеркальных копий сайтов вы можете использовать данный параметр.
  • -p (--page-requisites) - Загружать все файлы, которые нужны для отображения страниц HTML. Например: рисунки, звук, каскадные стили.

По умолчанию такие файлы не загружаются. Параметры -r и -l, указанные вместе могут помочь, но т.к. Wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.

Параметры запрета/разрешения рекурсивной загрузки

  • -A acclist (--accept acclist) - Список имен файлов, разделенных запятыми, которые следует загружать. Разрешается задание имен файлов по маске.
  • -R rejlist (--reject rejlist) - Список имен файлов, разделенных запятыми, которые не следует загружать. Разрешается задание имен файлов по маске.
  • -D domain-list (--domains=domain-list) - Список доменов domain-list , с которых разрешено загружать файлы. Разделяется запятыми. Этот параметр не включает -H.
  • --exclude-domains domain-list - Список доменов, с которых не разрешено загружать файлы
  • --follow-ftp - Следовать по ссылкам FTP с HTML страниц. Иначе, ссылки на файлы по протоколу FTP игнорируются.
  • --follow-tags=list - Wget имеет встроенную таблицу тегов HTML, в которых он ищет ссылки на другие файлы. Вы можете указать дополнительные теги в разделенном запятыми списке list в этом параметре.
  • -G list (--ignore-tags=list) - Обратно --follow-tags. Для пропуска тегов HTML при рекурсивной загрузке, укажите их в разделенном запятыми списке list .
  • -H (--span-hosts) - Разрешает посещать любые сервера, на которые есть ссылка.
  • -L (--relative) - Следовать только по относительным ссылкам. При этом параметре файлы с других серверов точно не будут загружаться.
  • -I list (--include-directories=list) - Список папок, разделенных запятыми, из которых разрешено загружать файлы. Элементы списка list
  • -X list (--exclude-directories=list) - Список папок, разделенных запятыми, исключаемых для загрузки (см. Ограничение по папкам). Элементы списка list могут содержать символы масок.
  • -np (--no-parent) - Не подниматься выше начального адреса при рекурсивной загрузке.

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

  • Загрузить URL:

wget http://сайт/

  • Загрузить файл увеличив количество попыток до 60 попытки установки нового соединения (по умолчанию 20):

wget --tries=60 http://сайт/jpg/flyweb.jpg

  • Запустить Wget в фоновом режиме, и сохранять сообщения в журнал log . (Символ амперсанда в конце указывает командному интерпретатору продолжать работу, не дожидаясь завершения работы Wget. Чтобы программа делала повторы бесконечно - используйте -t inf.)

wget -t 45 -o log http://сайт/jpg/flyweb.jpg &

  • Загрузить файл по FTP:
  • Если указать адрес папки, то Wget загрузит листинг этой папки (т.е. файлы и подкаталоги, содержащиеся в ней) и сконвертирует его в формат HTML. Например:

wget ftp://сайт/pub/gnu/links index.html

  • Если у Вас есть файл с URL, которые вы хотите загрузить, то используйте параметр -i (Если вы укажете - вместо имени файла, то URL будут читаться из стандартного ввода (stdin)):

wget -i I

  • Создать пятиуровневую копию сайта GNU со структурой папок оригинала, с одной попыткой загрузки, сохранить сообщения в gnulog :

wget -r http://www.gnu.org/ -o gnulog

  • Как и в примере выше, но с конвертированием ссылки в файлах HTML в локальные, для последующего автономного просмотра:

wget --convert-links -r http://www.gnu.org/ -o gnulog

  • Загрузить одну страницу HTML и все файлы, требуемые для отображения последней (напр. рисунки, файлы каскадных стилей и т. д.). Также сконвертировать все ссылки на эти файлы:

wget -p --convert-links http://www.server.com/dir/page.html

  • Страница HTML будет сохранена в www.server.com/dir/page.html и рисунки, каскадные стили и прочее будет сохранено в папке www.server.com/ , кроме случая, когда файлы будут загружаться с других серверов. Как и в примере выше, но без папки www.server.com/ . Также все файлы будут сохранены в подпапках download/ .

wget -p --convert-links -nH -nd -Pdownload http://www.server.com/dir/page.html

  • Загрузить index.html с www.lycos.com, отображая заголовки сервера:

wget -S http://www.lycos.com/

  • Сохранить заголовки в файл для дальнейшего использования.

wget -s http://www.lycos.com/more index.html

  • Загрузить два высших уровня wuarchive.wustl.edu в /tmp .

wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu/

  • Загрузить файлы GIF папки на HTTP сервере. Команда wget http://www.server.com/dir/*.gif не будет работать, так как маскировочные символы не поддерживаются при загрузке по протоколу HTTP. Используйте:

wget -r -l1 --no-parent -A.gif http://www.server.com/dir/

R -l1 включает рекурсивную загрузку с максимальной глубиной 1. --no-parent выключает следование по ссылкам в родительскую папку, имеющую верхний уровень, -A.gif разрешает загружать только файлы с расширением.GIF. -A ``*.gif"" также будет работать.

  • Предположим, что во время рекурсивной загрузки вам нужно было срочно выключить/перезагрузить компьютер. Чтобы не загружать уже имеющиеся файлы, используйте:

wget -nc -r http://www.gnu.org/

  • Если вы хотите указать имя пользователя и пароль для сервера HTTP или FTP, используйте соответствующий синтаксис URL:

[email protected]/.emacs">ftp://hniksic:[email protected]/.emacs

  • Вы хотите, чтобы загружаемые документы шли в стандартный вывод, а не в файлы?
  • Если вы хотите устроить конвейер и загрузить все сайты, ссылки на которые указаны на одной странице

wget -O - http://cool.list.com/ | wget --force-html -i -

  • Для хранение зеркала страницы (или папки FTP), то используйте --mirror (-m), что заменяет -r -l inf -N. Вы можете добавить Wget в crontab с запросом на проверку обновлений каждое воскресенье:

crontab 0 0 * * 0 wget --mirror http://www.gnu.org/ -o /home/me/weeklog

  • Вы также хотите, чтобы ссылки конвертировались в локальные. Но после прочтения этого руководства, вы знаете, что при этом не будет работать сравнение по времени. Укажите Wget оставлять резервные копии HTML файлов перед конвертацией. Команда:

wget --mirror --convert-links --backup-converted http://www.gnu.org/ -o /home/me/weeklog

  • А если не работает локальный просмотр файлов HTML с расширением, отличным от.html, например index.cgi , то нужно передать команду на переименование всех таких файлов (content-type = text/html) в имя.html .

wget --mirror --convert-links --backup-converted --html-extension -o /home/me/weeklog http://www.gnu.org/

  • С краткими аналогами команд:

wget -m -k -K -E http://www.gnu.org/ -o /home/me/weeklog

М ы покажем вам 10 практических примеров команды wget. wget это бесплатная утилита, которая может быть использована для извлечения файлов с использованием HTTP, HTTPS и FTP, которые рассматриваются в качестве наиболее широко используемых протоколов Интернета.

Ее название происходит от World Wide Web + get. wget имеет много особенностей, что делает ее очень легкой задачей, когда речь идет о получении больших файлов, рекурсивные загрузки, несколько загрузок файлов или зеркалирование целых веб-сайтов или FTP.

wget не является интерактивным, что дает большую гибкость при его использовании. Она может быть вызвана из сценариев, хрона, терминалов и т.д. Она может работать в фоновом режиме, даже если пользователь не вошел в систему. Это позволяет начать загрузку файла и отключиться от системы, позволяя wget закончить работу.

В этой статье мы продемонстрируем использование wget через несколько практических примеров, которые вы можете использовать, чтобы выполнить некоторые из наиболее распространенных задач, таких как загрузка файлов или даже зеркального отображения целых веб – сайтов.

Для этой демонстрации, мы установим wget на .

Обратите внимание, что даже если это было проверено на Ubuntu 16.04, инструкции также могут быть использованы на любом другом дистрибутиве .

Вход на сервер и установка wget

Вы также можете убедиться, что ваш сервер находится в актуальном состоянии с помощью следующих команд:

Apt-get update apt-get upgrade

После того, как были установлены обновления, вы можете установить пакет программного обеспечение wget с помощью следующей команды:

Apt-get install wget

После того, как установка будет завершена, вы можете начать использовать команду wget на сервере.

1. Команда wget для загрузки одного файла

Наиболее распространенное и простое использование wget, это скачать один файл и сохранить его в текущем каталоге.

Например, чтобы загрузить последнюю версию можно использовать следующую команду:

Wget https://wordpress.org/latest.zip

Это вывод, который вы получите во время загрузки файла:

2017-10-24 16:46:24-- https://wordpress.org/latest.zip Resolving wordpress.org (wordpress.org)... 66.155.40.249, 66.155.40.250 Connecting to wordpress.org (wordpress.org)|66.155.40.249|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 8912693 (8.5M) Saving to: "latest.zip" latest.zip 100%[=============================================================================>] 8.50M 3.83MB/s in 2.2s 2017-10-24 16:46:27 (3.83 MB/s) - "latest.zip" saved root@destroyer:~#

Как вы можете видеть, она также показывает прогресс загрузки, текущую скорость загрузки, размер, дату, время и имя файла.

В нашем случае эта команда загрузит файл и сохранит его в текущем каталоге под именем «latest.zip».

2. Команда wget для загрузки файла и сохранение его под другим именем

Wget -O wordpress.zip https://wordpress.org/latest.zip

Она загрузит и сохранит последнюю в текущем каталоге под названием «wordpress.zip».

3. Команда wget для загрузки файла и сохранение его в определенном каталоге

Wget -P /opt/wordpress https://wordpress.org/latest.zip

Она скачает и сохранит файл в каталоге /opt/wordpress на сервере.

4. Команда wget, чтобы установить скорость загрузки

Если вы случайно загрузите огромный файл, который занимает больше времени, чем необходимо для полной загрузке, вы можете ограничить скорость загрузки для предотвращения wget с использованием полной возможной пропускной способности соединения.

Чтобы ограничить скорость загрузки, например до 300k, вы можете использовать следующую команду:

Wget --limit-rate=300k https://wordpress.org/latest.zip

5. Команда wget для продолжения прерванной загрузки

Иногда, когда вы загружаете очень большой файл, который будет занимать больше времени для полного скачивания, вы можете временно потерять подключение к Интернету и загрузка будет прервана.

Для того, чтобы избежать повторного запуска всей загрузки, вы можете продолжить, откуда прерывалось скачивание с помощью опции -c :

Wget -c https://wordpress.org/latest.zip

6. Команда wget для загрузки в фоновом режиме

Для больших файлов, вы также можете использовать опцию -b , чтобы загрузить файл в фоновом режиме.

Wget -b http://example.com/big-file.zip

Вывод будет записан в файле «wget-log» в том же каталоге, и вы всегда можете проверить статус загрузки с помощью следующей команды:

Tail -f wget-log

7. Команда wget, увеличение повторных попыток

Если у вас возникли проблемы с подключением к Интернету, и загрузка становится прерванной несколько раз, вы можете увеличить повторные попытки загрузить файл с опции -tries :

Wget -tries=100 https://example.com/file.zip

8. Команда wget для загрузки нескольких файлов

Если вы хотите загрузить несколько файлов в одно и то же время, вы можете создать текстовый файл (например download.txt), где разместить все URL-адреса файлов, которые вы хотите загрузить. Для создания текстового файла выполните следующие действия:

Touch download.txt

После этого вы можете отредактировать файл с nano и ввести все URL-адреса всех файлов, которые вы хотите загрузить:

Nano download.txt http://example.com/file1.zip http://example.com/file2.zip http://example.com/file3.zip

После сохранения файла, вы можете использовать опцию -i , чтобы загрузить все файлы, сохраненные в этом текстовом файле:

Wget -i download.txt

9. Команда wget для загрузки через FTP

Вы также можете использовать wget для загрузки файла непосредственно через FTP, используя набор имя пользователя и пароль, с помощью следующей команды:

Wget --ftp-user=username --ftp-password=password ftp://url-to-ftp-file

10. Команда wget для скачивания всего сайта

Вы даже можете использовать wget для загрузки всего веб-сайта, который вы можете просматривать локально, в автономном режиме, без необходимости подключения к интернету. Для этого можно использовать следующую команду:

Wget --mirror --convert-links --page-requisites ----no-parent -P /path/to/download https://example-domain.com

С -mirror , вы включите все опции, необходимые для зеркального отображения.

С –convert-links , вы будете конвертировать все ссылки, так что они будут работать в автономном режиме.

С –page-requisites , загрузятся все необходимые файлы, такие как таблицы стилей CSS и изображения, необходимых для правильного отображения страницы в автономном режиме.

С –no-parent , вы можете ограничить загрузку только к определенной части сайта.

Кроме того, вы можете установить путь туда, куда мы хотим загрузить файлы с помощью команды -P, а затем путь к каталогу.

Мы рассмотрели некоторые из наиболее распространенных видов использования команды wget. Чтобы узнать больше о wget, вы всегда можете проверить его страницу с помощью команды man wget .

Казалось бы, в мире, где половина населения планеты активно пользуется компьютерами и привыкла к стильным графическим интерфейсам и богатым возможностям такового, уже нет места для текстовых приложений. Каких-то 20 лет назад интерфейс компьютера представлял собой страшную черную панель, которая не отображала ничего, кроме набора белых символов, а все управление осуществлялось за счет текстовых команд. Удивительно, но насколько эти программы уродливы, настолько же они функциональны и надежны.

Что такое Wget?

Wget (которая также именуется GNU Wget Linux) представляет собой консольное, не интерактивное приложение для работы с файлами и веб-страницами. По сути, это программа для скачивания файлов из сети Интернет, отличающаяся отсутствием графического интерфейса и рядом особенностей в управлении, нетипичных для более современных решений.

Программа была разработана инженером из Хорватии Хрвожи Никшичем, а ныне разработку поддерживает Джузеппе Скривано и сообщество Linux. Первая сборка утилиты (тогда еще под названием GetURL) была представлена в январе 1996 года. Программа была написана на языке программирования Си и издавалась по лицензии GNU. Изначально инструмент был выпущен на платформе Linux. Со временем утилита была переведена на множество языков и портирована на все популярные платформы, включая Wget для Windows 7 (и новее), Wget для MacOS и так далее.

Данная программа - не интерактивная, а значит, любой процесс, запущенной в рамках ее возможностей, невозможно взять под контроль, им можно управлять, обратившись к средствам управления самой операционной системы.

Несмотря на то что современные браузеры обычно имеют встроенный они все же рассчитаны на интерактивное взаимодействие, посему работа в ручном режиме становится затруднительной. Wget же, напротив, позволяет ряд процессов автоматизировать. Например, существует возможность заранее подготовить текстовый документ со списком веб-страниц, используя который можно загрузить сразу несколько файлов и страниц.

Основные функции программы

Все же в первую очередь это программа для скачивания файлов, из чего следует очевидность ее главной функции.

Wget может загружать любые материалы из сети Интернет, будь то документы, исполнительные файлы или целые веб-страницы в формате HTML (по различным протоколам). Файлы могут быть загружены из директорий по

Клиент может выполнять рекурсивную загрузку, в автоматическом режиме переходя по ссылкам в рамках определенного веб-сайта (или нескольких веб-сайтов), при этом восстанавливая изначальную структуру веб-страницы. Имеется возможность просматривать загруженные веб-сайты без доступа к сети (по умолчанию загружается в виде адресов для онлайн-просмотра).

Изначально Wget адаптировался под медленные и нестабильные типы подключений, поэтому его важной особенность является возможность восстановить прерванную загрузку файла (это возможно, если сервер поддерживает заголовки RANGE). Также Wget может мониторить состояние серверов (их доступность) для дозагрузки и обновления (Wget проверяет заголовки файлов и поддерживает самую свежую версию) файлов и веб-страницы.

Программа также имеет ряд возможностей, типичных для так называемых утилит-пауков, которые исследуют различные веб-сайты и серверы на предмет наличия на них определенных файлов.

Поддерживаемые платформы

Wget Linux стал базой для данного продукта. Как уже было сказано выше, изначально утилита работала лишь на Linux, но быстро набрала популярность и была адаптирована под другие системы. Например, можно отыскать версию Wget для Windows 7 и более современных ОС, причем есть сборки с графическим интерфейсом. Что касается Linux, то там программа нередко вшивается в дистрибутив. Терминалы в некоторых сборках Linux изначально поддерживают Wget-команды. Ubuntu, Fedora, openSUSE и прочие потребительские дистрибутивы работают с программой, что называется, из коробки. Далее рассмотрим программу более подробно.

Wget-команды: список основных параметров

В базовый список команд входят:

  • -V - позволяет узнать, какая версия программы используется в данный момент;
  • -h - показывает наиболее полный список команд для работы с приложением;
  • -b - позволяет перевести программу в фоновый режим;

Список параметров сообщений

Wget-команды позволяют полностью контролировать отображаемую информацию. Вот их список:

  • -o logfile - создает файл-журнал, в который записывается весь процесс работы приложения;
  • -a logfile - позволяет дополнить существующий файл-журнал вместо создания нового;
  • -d - отображает необходимую разработчикам и отладчиком информацию (помогает решать проблемы и исправлять ошибки в работе клиента);
  • -q - отключает отображение сообщений;
  • -v - данная опция включена по умолчанию, предоставляет подробный отчет обо всех процессах, происходящих в программе (в реальном времени);
  • -nv - значительно сокращает информацию, получаемую пользователем в сообщениях. Остаются лишь самые необходимые данные и оповещения об ошибках;
  • -i file (с указанием пути к файлу) - команда позволяет просканировать файл, вычленив из него ссылку и выполнить загрузку; можно использовать файлы различных форматов, в том числе HTML, но в случае использования данной команды не стоит указывать путь к файлу в командной строке;
  • -f - провоцирует программу на чтение файла как HTML; при использовании этой команды для работы с локальным HTML документом, может произойти ошибка, чтобы ее избежать, достаточно указать в документе .

Список параметров загрузки

Основные команды для работы с с помощь Wget. Вот их базовый набор:

  • --bind-address=ADDRESS - данная команда позволяет передать данные bind в ADDRESS локальной машины. При использовании соединения TCP/IP, команда необходима для точного указания IP-адреса (если их несколько).
  • -t number (нужно указать число) - позволяет пользователю выбрать количество повторов загрузки. Чтобы избежать повторов следует указать значение number равное нулю.
  • -nc - данная команда позволяет вернуть прежнее состояние загружаемого файла в том случае, если произошел сбой в сети, и загрузка прервалась. Если не использовать одну из команд для дозагрузки (-N, -nc, -r), то Wget создаст его копию и начнет загрузку заново. Параметр -r позволяет заменить существующие файлы.
  • -с - также способствует дозагрузке файла, в случае потери соединения (и когда Wget прекратил самостоятельные попытки восстановления подключения). Достаточно перед ссылкой на файл указать данную команду. Если в используемой директории найдется аналогичный файл, то Wget проведет его идентификацию и в автоматическом режиме примет решение о его дозагрузке. Команду можно использовать лишь на тех серверах, где имеется поддержка заголовков RANGE.

  • --progress - позволяет выбрать тип отображения прогресса загрузки. Можно указать -progress=bar или progress=dot.
  • --spider - заменяет команду загрузки файла на проверку его наличия на сервере;
  • -w (в секундах) - указывает время перерыва между загрузками.
  • -q (указывается в количестве килобайт или мегабайт) - позволяет четко регулировать размер загружаемых данных и лимитировать чрезмерные объемы. Тем не менее стоит заметить, что один файл будет загружен независимо от выставленной квоты (то бишь с одним файлом эта опция работать не будет, какой-бы он не был тяжелый).

Список параметров HTTP

  • --http-user= и --http-passwd= - позволяют указать логин и пароль для авторизации на веб-ресурсе, с которого будут выгружаться файлы.
  • -C = on/off - позволяет включить или выключить кеширование данных на стороне сервера.
  • --cookies = on/off - то же самое, что и для cache, только для cookies. Позволяет либо остановить, либо возобновить обмен данными cookie, необходимыми серверу для ведения статистики посещений. По умолчанию опция включена, но cookie-файлы не сохраняются на жесткий диск.
  • --save-cookies - позволяет сохранить файлы cookie (только свежие данные).
  • --proxy-user и -proxy-passwd - позволяет указать логин и пароль для авторизации на прокси-сервере (если таковой задействован).

Список параметров FTP

Продвинутые параметры для работы с Wget. Команды FTP:

  • -nr - запрещает удалять временные файлы из директории.listing, которые самопроизвольно генерируются при работе с FTP;
  • -g on/off - позволяет использовать утилите специальные символы в директориях FTP;
  • --passive-ftp - данную команду можно использовать при наличии Firewall’а, чтобы активировать пассивный режим FTP (когда пользователь сам отвечает за установку соединения с сервером).

Wget-команды: примеры использования

Самым простым и банальным примером для работы с программой является, конечно, загрузка файлов. Чтобы протестировать Wget-команды, можно начать с простого, найти ссылку на какой-либо файл в сети и ввести в консоль/terminal: Wget *ссылка с указанием точного и полного пути к файлу*.

Чтобы продолжить загрузку файла, используется: Wget -c *ссылка с указанием точного и полного пути к файлу*.

Что касается загрузки веб-страниц, тут все несколько сложнее, но при этом и количество возможностей значительно возрастает. Чтобы не вводить параметры заново каждый раз, когда возникла необходимость загрузить веб-сайт, можно создать скрипты или прописать все настройки в файл.wgetrc.

Чтобы эта же страница оказалась доступной для просмотра без подключения к сети Интернет, можно использовать команду Wget -r -10 -k *ссылка с указанием точного и полного пути к файлу*.

Ошибка формата Wget команда не найдена может означать любую опечатку и неправильно указанный параметр.