Wget-команды: примеры. Консольная программа для загрузки файлов по сети 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 команда не найдена может означать любую опечатку и неправильно указанный параметр.

Introduction to GNU Wget

GNU Wget is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, jobs, terminals without X-Windows support, etc.

GNU Wget has many features to make retrieving large files or mirroring entire web or FTP sites easy, including:

  • Can resume aborted downloads, using and
  • Can use filename wild cards and recursively mirror directories
  • NLS-based message files for many different languages
  • Optionally converts absolute links in downloaded documents to relative, so that downloaded documents may link to each other locally
  • Runs on most UNIX-like operating systems as well as Microsoft Windows
  • Supports HTTP proxies
  • Supports HTTP cookies
  • Supports persistent HTTP connections
  • Unattended / background operation
  • Uses local file timestamps to determine whether documents need to be re-downloaded when mirroring
  • GNU Wget is distributed under the GNU General Public License.

The source code for GNU Wget can be found on here or on our mirrors.
For more download options, see the FAQ.

Documentation

GNU Wget documentation can be found here.
For manuals of other GNU packages, please see www.gnu.org.

Additional Information

Currently GNU Wget2 is being developed.
Please help us if you can with testing, docs, organization, development, … see you at Wget2 collaboration site

Maintainer

GNU Wget is currently being maintained by Tim Rühsen, Darshit Shah and Giuseppe Scrivano.
The original author of GNU Wget is Hrvoje Nikšić.
Please do not directly contact either of these individuals with bug reports, or requests for help with Wget: that is what the mailing list is for; please use it instead.

Donators

We thank the TYPO3 & Magento partner AOE media for donating to the wget project.

wget — ПОВЕЛИТЕЛЬ ЗАКАЧЕК
(ЗАГРУЗКА ФАЙЛОВ И САЙТОВ ИЗ ИНТЕРНЕТА В GNU/LINUX)

О любви wget так много песен спето,
Я спою, тебе спою, ещё одну…

Романс из к/ф «Три друга»

Задача: хочется Teleport Pro и FlashGet для Линукс, качать сайты и файлы.

Решение: откройте для себя wget — это всё в одном флаконе и даже больше.

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

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

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

Использование а-ля «FlashGet for Linux»

Нужно просто скачать файл и/или продолжить закачку, которая оборвалась. Это очень и очень легко сделать, написав в терминале несколько строчек.

Просто скачать файл wget-ом:

$ wget ftp://vasya.pupkin.com/film.avi

Ещё вариант: часть файла скачана, закачка оборвалась.

Для продолжения закачки файла пишем:

$ wget -c ftp://vasya.pupkin.com/film.avi или $ wget —continue ftp://vasya.pupkin.com/film.avi

Вместо -с можно написать —continue, так как каждый ключ имеет короткую и длинную формы: длинные ключи проще запомнить, но дольше писать. Можно легко смешивать различные формы написания.

Чтобы выкачать файлы из списка, содержащего прямые ссылки:

$ wget -i pupkinlist или $ wget —input-file=pupkinlist

Здесь указывается только файл , в котором содержатся ссылки. Файл может так же быть html-страницей, в которой есть ссылки.

Windows. Установка wget в Windows XP/7/8/8.1/10

Они будут выкачаны указанной выше командой.

Использование а-ля «Teleport Pro for Linux»

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

Зеркалирование сайтов на локальную машину:

$ wget -m http://www.vasyapupkin.com/

Копирование сайта для локального просмотра:

$ wget -r -l0 -np -k http://www.vasyapupkin.com/

При этом будет включена рекурсивная выгрузка (ключ -r, —recursive), то есть не только файлы с главной страницы, но и все остальные, на которые ведут ссылки (ключ -l0 бесконечная вложенность ссылок).

Имена ссылок будут переконвертированы в локальные для удобства просмотра (ключ -k). Так же при помощи ключа -np (no-parrent) можно запретить wget подниматься выше начального адреса при рекурсивной загрузке, то есть если вы копируете http://home.vasyapupkin.com/ то по ссылкам с основного сайта http://www.vasyapupkin.com/ скопированы не будут.

Несколько полезных ключей

Включение и исключение файлов при загрузке:

A acclist или —accept acclist -R rejlist или —reject rejlist

Задаёт разделяемые запятыми шаблоны имён файлов, которые следует загружать (acclist) или игнорировать (rejlist).

K или —convert-links

Превращает абсолютные ссылки (типа http://www…) в относительные (типа file///home/vasya/www/index.html) для удобства локального просмотра. Чтобы локально в броузере просмотреть скачанный сайт, открываете файл index.html в броузере и бродите по ссылкам точно так же, как если бы вы были подключены к интернету.

H или —span-hosts

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

P или —page-requisites

Загружает все файлы, которые нужны для отображения страниц html. Например: рисунки, звук и каскадные стили. После завершения загрузки конвертирует ссылки в документе для просмотра в автономном режиме. Это касается не только видимых ссылок на другие документы, а ссылок на все внешние локальные файлы.

siteget — простой скрипт для скачивания сайтов

Если вам надоели все эти премудрости с ключами wget и нужно просто скачать сайт, то siteget вам определённо понравится. Это довольно простой скрипт с необходимыми параметрами для загрузки сайта.

Загрузить скрипт можно отсюда. После закачки на компьютер имеет смысл скопировать его в режиме суперпользователя в одну из директорий, прописанных в переменной $PATH: операционная система автоматически просматривает их в поисках исполняемых файлов. Например, в директорию /user/local/bin :

# cp {директория, где находится скрипт}/siteget /user/local/bin/siteget

Скрипту также необходимо присвоить атрибут исполняемого файла:

# chmod a+x /usr/local/bin/siteget

Использование siteget очень простое:

$ siteget http://www.vasyapupkin.com/

Кафедра библеистики МДА, 2008.
Последнее обновление:
Адрес в интернете: http://www.bible-mda.ru/soft/wget/wget.html

Просто скачать файл wget-ом:

wget ftp://vasya.pupkin.com/film.avi

Для продолжения оборвавшейся закачки пишем:

wget -c ftp://vasya.pupkin.com/film.avi

wget —continue ftp://vasya.pupkin.com/film.avi

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

Чтобы выкачать файлы из списка , содержащего прямые ссылки:

wget -i pupkinlist.txt

wget —input-file=pupkinlist.txt

Здесь указывается только файл, в котором содержатся ссылки. Файл может так же быть -страницей, в которой есть ссылки. Они будут выкачаны указанной выше командой.

Использование а-ля «Teleport Pro for Linux».

При скачивании веб-сайтов возможностей больше, и поэтому требуется больше ключей.

Опять-таки, запоминать их все не обязательно, можно сделать скрипт (а лучше несколько — под разные случаи) и вызывать их.

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

Зеркалирование сайтов на локальную машину:

wget -m http://www.vasyapupkin.com/

эквивалентно, эти опции описаны ниже.

Копирование сайта для локального просмотра (с заменой интернет-ссылок на локальные адреса скачанных страниц):

wget -r -l0 -k http://www.vasyapupkin.com/

При этом будет включена рекурсивная выгрузка (ключ -r, –recursive),

В wget имеется большое количество полезных опций — побольше, чем у Teleport"а флажков. Будучи завёрнутым в скрипт, например, и положенным на видное место (указанное в), имеем удобство применения и богатство настроек.

Не подниматься выше начального адреса при рекурсивной загрузке.

Включить рекурсивный просмотр каталогов и подкаталогов на удалённом сервере.

Определить максимальную глубину рекурсии равной depth при просмотре каталогов на удалённом сервере. По умолчанию depth=5.

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

Список имен файлов, разделенных запятыми, которые следует (accept) или не следует (reject) загружать. Разрешается задание имен файлов по маске.

Wget для Windows. Установка и использование.

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

Указать имя пользователя и пароль на -сервере.

Разрешает посещать любые сервера, на которые есть ссылка.

Загружать все файлы, которые нужны для отображения страниц. Например: рисунки, звук, каскадные стили (). По умолчанию такие файлы не загружаются. Параметры и, указанные вместе могут помочь, но т.к. wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.

Ссылки

Информация о программе

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

wget для Windows

Программа позволяет копировать простые html сайты с сохранением структуры каталогов. Позволяет находить и обрабатывать данные robots.txt, умеет конвертировать ссылки для последующего оффлайн доступа. Содержит инструмент по сравнению заголовков файлов для загрузки новых версий и создания зеркальных копий.

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

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

Скачать бесплатно полную русскую версию Wget с официального сайта без регистрации и смс.

Системные требования

  • Поддерживаемые ОС: Windows XP, 7, 10, 8, Vista, 8.1
  • Разрядность: 32 bit, x86, 64 bit

Wget - консольный загрузчик для скачивания сайтов и его использование в Windows

wget - консольная утилита для скачивания файлов/сайтов, умеет выкачивать файлы рекурсивно, следуя по ссылкам автоматически.

Команда Описание
wget http://example.com/file.zip скачивание файла file.zip в текущую директорию
wget -P /path/to/save http://example.com/file.zip скачивание файла file.zip в директорию /path/to/save
wget -c http://example.com/file.zip докачивание файла file.zip в случаи обрыва
wget -O arch.zip http://example.com/file.zip скачивание файла file.zip и сохранение под именем arch.zip
wget -i files.txt скачивание файлов из списка в files.txt
wget —tries=10 http://example.com/file.zip количество попыток на скачивание
wget -Q5m -i http://example.com/ квота на максимальный размер скачанных файлов, квота действует только при рекурсивном скачивании (-r)
wget —save-cookies cookies.txt —post-data ‘username=proft&password=1’ http://example.com/auth.php идентификация на сервере с сохранением кук для последующего доступа
wget —user-agent=»Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5″ http://example.com/ указание User Agent
echo ‘wget http://example.com/file.zip’ | at 12:00 скачать http://example.com/file.zip в 12:00 в текущую директорию
wget ftp://example.com/dir/*.zip
wget http://example.com/dir/file{1..10}.zip скачивание всех файлов по шаблону
wget -S http://example.com/ вывод заголовков HTTP серверов и ответов FTP серверов
wget —spider -i urls.txt проверка ссылок в файле на доступность
wget -b http://example.com/file.zip скачивание файла в фоне, лог пишется в wget.log, wget.log.1 и т.д.
export http_proxy=http://proxy.com:3128/;wget http://example.com/file.zip скачивание файла *file.zip* через прокси
wget -m -w 2 http://example.com/ зеркалирование сайта с сохранением абсолютных ссылок и ожиданием 2-х секунд между запросами
wget —limit-rate=200k http://example.com/file.zip ограничение скорости скачивания
wget -R bmp http://example.com/ не скачивать bmp файлы
wget -A png,jpg http://example.com/ скачивать только файлы png и jpg

Пример использования для скачивания документации Django :

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

Часто используемые wget параметры можно вынести в ~/.wgetrc.

curl - консольная утилита для передачи данных используя URL-синтаксис, поддерживаются протоколы DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet и TFTP.

Команда Описание
curl http://proft.me получаем содержания главной страницы
curl -o index.html http://proft.me получаем содержания главной страницы в файл index.html
curl -L http://example.com при получении содержимого страницы следовать по редиректам (если такие есть)
curl -u username:password http://example.com/login/ получение страницы скрытой за Basic HTTP Authentication
curl -x proxy.com:3128 http://proft.me получение страницы используя прокси
curl -I proft.me получаем http-заголовки с сайта
curl -H ‘Host: google.ru’ http://proft.me подменить домен при обращении к серверу (передача своего заголовка)
curl —request POST «http://example.com/form/» —data «field1=value1&field2=value2»
curl -X POST «http://example.com/form/» —data «field1=value1&field2=value2» передача данных POST-запросом
curl -X POST -H «Content-Type: application/json» -d ‘»title»:»Commando»,»year»:»1985″‘ http://example.com/api/movies/ передача данных POST-запросом, данные в виде JSON
curl —request PUT «http://example.com/api/movie/1/» —data «title=DjangoUnchained» передача данных PUT-запросом
curl -F [email protected] -F submit=OK http://example.com/upload/ загрузка файла file.zip в форму (multipart/form-data)
curl -u username:password -O ftp://example.com/file.zip скачать файл с FTP
curl -u username:password -T file.zip ftp://example.com/ закачать файл по FTP
curl —cookie «login=proft» http://example.com/login/ установить кукис
curl —cookie-jar cookies.txt http://example.com сохранение кукисов в файл
curl —cookie cookies.txt http://example.com/login/ использование сохраненных кукисов

Дополнительное чтиво

Часто возникает необходимость при отсутствии графического интерфейса (например при настройке удаленного сервера) скачать файл на диск. К тому же бывают ситуации, когда нет времени (или просто влом) читать километровый мануал только для того, чтобы скачать архив. Поэтому в данной статье приведу несколько простых примеров использования популярной консольной «качалки» — Wget.

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

Практически во всех дистрибутивах Wget установлен по умолчанию, но если это не так, то:

Что бы просто скачать файл, в качестве аргумента указываем http или ftp ссылку на него:

$ wget ftp://somedomain.com/somefile.tar

где «http://somedomain.com/somefile.tar» — прямая ссылка на файл, который нужно скачать.

Во Wget, как и в любой продвинутой «интернет-качалке», есть возможность докачки. Для этого используется параметр -c или —continue :

при обрыве закачки, для продолжения, в папке с недокачаным файлом пишем:

$ wget http://somedomain.com/somefile.tar

или опять с докачкой:

$ wget --continue http://somedomain.com/somefile.tar

Бывает надобность выкачать несколько десятков (или сотен) файлов. Один из способов — указать Wget-у в качестве аргумента текстовый документ, или HTML-страницу, содержащие прямые ссылки на файлы, которые нужно скачать. Для этого используется опция -i или —input-file :

$ wget --input-file=/path/to/list

Чтобы задать шаблон файлов, которые стоит закачивать или игнорировать, удобно использовать опции -A —accept и -R —reject , указывая в качестве аргументов к ним список шаблонов, разделяемых запятой. Например, что бы при закачке списка файлов игнорировать файлы с расширениями exe и avi, воспользуемся командой:

$ wget --reject *.exe, *.avi --input-file=/path/to/list

Следует заметить, что во всех предыдущих примерах закачка будет производиться в текущий каталог. Для указания произвольного каталога следует использовать опцию -P или —directory-prefix :

$ wget --directory-prefix=/download/directory http://somedomain.com/somefile.tar

Так как Wget использует канал интернета «по полной программе», иногда бывает полезно ограничить скорость закачки, дабы не мешать работе других интернет-приложений. В этом поможет опция —limit-rate , в качестве аргумента для которой укажем скорость в килобайтах:

$ wget --limit-rate=120k http://somedomain.com/somefile.tar

Вышеперечисленные опции можно комбинировать в зависимости от потребностей.

Рассмотрим другой интересный вариант применения Wget — скачивание сайтов. Можно просто сделать зеркальную копию сайта, используя опцию -m или —mirror :

$ wget -m http://www.somedomain.com/

в этом случае сохраняется архитектура абсолютных ссылок.

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

$ wget -k -r -l0 -np --page-requisites http://www.somedomain.com/

кратко о каждой опции:

-k —convert-links — конвертирует абсолютные ссылки в локальные

-r —recursive — рекурсивная загрузка, т.е. все вложенные ссылки и страницы будут закачены

-l —level — уровень вложения ссылок 0 — бесконечно (по умолчанию — 5)

-np —no-parent — не подниматься выше уровня начальной ссылки

-p —page- requisites — загружать все необходимое для корректного отображения страниц (картинки, css, JavaScript и т.п.)

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

Ознакомиться с полным руководством по Wget можно или .

Все мы иногда качаем файлы из интернета. Если для этого использовать программы с графическим интерфейсом, то всё оказывается предельно просто. Однако, при работе в командной строке Linux дело несколько усложняется. Особенно - для тех, кто не знаком с подходящими инструментами. Один из таких инструментов - чрезвычайно мощная утилита wget, которая подходит для выполнения всех видов загрузок. Предлагаем вашему вниманию двенадцать примеров, разобрав которые, можно освоить основные возможности wget.

$ wget https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
После ввода такой команды начнётся скачивание Nagios Core. В ходе этого процесса можно будет видеть данные о загрузке, например - сведения о том, какой объём данных уже загружен, текущую скорость, и то, сколько времени осталось до конца загрузки.

2. Загрузка файла и сохранение его с новым именем

Если мы хотим сохранить загруженный файл под именем, отличающимся от его исходного имени, нам пригодится команда wget с параметром -O:

$ wget -O nagios_latest https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
При таком подходе загруженный файл будет сохранён под именем nagios_latest .

3. Ограничение скорости загрузки файлов

При необходимости скорость загрузки файлов с помощью wget можно ограничить. В результате эта операция не будет занимать весь доступный канал передачи данных и не повлияет на другие процессы, связанные с сетью. Сделать это можно, используя параметр --limit-rate и указав ограничение скорости, выраженное в байтах (в виде обычного числа), килобайтах (добавив после числа K) или мегабайтах (M) в секунду:

$ wget ––limit-rate=500K https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Здесь задано ограничение скорости загрузки, равное 500 Кб/с.

4. Завершение прерванной загрузки

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

$ wget –c https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Если этот параметр не использовать, то загрузка недокачанного файла начнётся сначала.

Если вы загружаете файл огромного размера и хотите выполнять эту операцию в фоне, сделать это можно, используя параметр -b:

$ wget –b https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia

Если имеется список URL файлов, которые надо загрузить, но вам не хочется вручную запускать загрузки этих файлов, можно использовать параметр -I . Однако, перед тем, как начинать загрузку, нужно создать файл, содержащий все адреса. Например, сделать это можно такой командой:

$ vi url.txt
В этот файл нужно поместить адреса - по одному в каждой строке. Далее, осталось лишь запустить wget , передав этой утилите только что созданный файл со списком загрузок:

$ wget –I url.txt
Выполнение этой команды приведёт к поочерёдной загрузке всех файлов из списка.

7. Увеличение общего числа попыток загрузки файла

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

Wget ––tries=100 https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia

Команда загрузки файла с анонимного FTP-сервера с помощью wget выглядит так:

$ wget FTP-URL
Если для доступа к файлу требуются имя пользователя и пароль, то команда примет такой вид:

$ wget –-ftp-user=dan ––ftp-password=********* FTP-URL

9. Создание локальной копии веб-сайта

Если нужно загрузить содержимое целого веб-сайта, сделать это можно, воспользовавшись параметром --mirror:

$ wget --mirror -p --convert-links -P /home/dan xyz.com
Обратите внимание на дополнительные параметры командной строки:

  • -p: производится загрузка всех файлов, необходимых для корректного отображения HTML-страниц.
  • --convert-links: ссылки в документах будут преобразованы для целей локального просмотра сайта.
  • -P /home/dan: материалы будут сохранены в папку /home/dan .

10. Загрузка с сайта только файлов определённого типа

Для того, чтобы загрузить с сайта только файлы определённого типа, можно воспользоваться параметрами -r -A:

$ wget -r -A.txt Website_url

11. Пропуск файлов определённого типа

Если вы хотите скопировать целый веб-сайт, но при этом вам не нужны файлы определённого типа, отключить их загрузку можно с помощью параметра --reject:

$ wget --reject=png Website_url

12. Загрузка с использованием собственного.log-файла

Для того, чтобы загрузить файл и использовать при этом собственный.log -файл, воспользуйтесь параметром -o и укажите имя файла журнала:

$ wget -o wgetfile.log https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia

Итоги

Wget - довольно простая в использовании, но весьма полезная утилита Linux. И, на самом деле то, о чём мы рассказали - лишь малая часть того, что она умеет. Надеемся, этот обзор поможет тем, кто не был знаком с wget, оценить эту программу, и, возможно, включить её в свой повседневный арсенал инструментов командной строки.

Уважаемые читатели! Пользуетесь ли вы инструментами командной строки Linux для загрузки файлов? Если да - просим о них рассказать.

М ы покажем вам 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 .