Wget-команды: примеры. Консольная программа для загрузки файлов по сети Wget. Русскоязычная документация по Ubuntu Для продолжения закачки файла пишем

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

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

GNU Wget является неинтерактивной программой. Это означает, что после её запуска пользователь может повлиять на её работу только с помощью средств управления процессами самой операционной системы. Как правило для этого используются сочетания клавиш Ctrl+C при необходимости прерывания работы программы и Ctrl+Z для помещения текущего задания в фон.

Современные браузеры как правило имеют функцию закачки файлов, однако так как браузер рассчитан на интерактивный режим работы, то скачивание большого количества файлов вручную может быть утомительным. Браузеры, как правило, не предоставляют средств для автоматизации подобных задач. GNU Wget же, например, поддерживает загрузку URL, указанных в файле. Таким образом можно составить список файлов, а в любое удобное время скачать их с помощью GNU Wget.

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

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

Файлы можно скачивать рекурсивно по ссылкам в HTML-страницах, как с одного сайта с определённой глубиной следования по ссылкам, так и с нескольких. Помимо этого, при загрузке по FTP файлы можно скачивать “по маске” имени (то есть можно задавать с помощью “*” группу файлов).

Также GNU Wget поддерживает докачку файла в случае обрыва соединения.

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

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

Все мы иногда качаем файлы из интернета. Если для этого использовать программы с графическим интерфейсом, то всё оказывается предельно просто. Однако, при работе в командной строке 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 для загрузки файлов? Если да - просим о них рассказать.