Wget-команды: примеры. Консольная программа для загрузки файлов по сети Wget
Казалось бы, в мире, где половина населения планеты активно пользуется компьютерами и привыкла к стильным графическим интерфейсам и богатым возможностям такового, уже нет места для текстовых приложений. Каких-то 20 лет назад интерфейс компьютера представлял собой страшную черную панель, которая не отображала ничего, кроме набора белых символов, а все управление осуществлялось за счет текстовых команд. Удивительно, но насколько эти программы уродливы, настолько же они функциональны и надежны.
Что такое Wget?
Wget (которая также именуется GNU Wget Linux) представляет собой консольное, не интерактивное приложение для работы с файлами и веб-страницами. По сути, это программа для скачивания файлов из сети Интернет, отличающаяся отсутствием графического интерфейса и рядом особенностей в управлении, нетипичных для более современных решений.
Программа была разработана инженером из Хорватии Хрвожи Никшичем, а ныне разработку поддерживает Джузеппе Скривано и сообщество Linux. Первая сборка утилиты (тогда еще под названием GetURL) была представлена в январе 1996 года. Программа была написана на языке программирования Си и издавалась по лицензии GNU. Изначально инструмент был выпущен на платформе Linux. Со временем утилита была переведена на множество языков и портирована на все популярные платформы, включая Wget для Windows 7 (и новее), Wget для MacOS и так далее.
Данная программа - не интерактивная, а значит, любой процесс, запущенной в рамках ее возможностей, невозможно взять под контроль, им можно управлять, обратившись к средствам управления самой операционной системы.
Несмотря на то что современные браузеры обычно имеют встроенный менеджер загрузок, они все же рассчитаны на интерактивное взаимодействие, посему работа в ручном режиме становится затруднительной. Wget же, напротив, позволяет ряд процессов автоматизировать. Например, существует возможность заранее подготовить текстовый документ со списком веб-страниц, используя который можно загрузить сразу несколько файлов и страниц.
Основные функции программы
Все же в первую очередь это программа для скачивания файлов, из чего следует очевидность ее главной функции.
Wget может загружать любые материалы из сети Интернет, будь то документы, исполнительные файлы или целые веб-страницы в формате HTML (по различным протоколам). Файлы могут быть загружены из директорий по протоколу FTP.
Клиент может выполнять рекурсивную загрузку, в автоматическом режиме переходя по ссылкам в рамках определенного веб-сайта (или нескольких веб-сайтов), при этом восстанавливая изначальную структуру веб-страницы. Имеется возможность просматривать загруженные веб-сайты без доступа к сети (по умолчанию загружается в виде адресов для онлайн-просмотра).
Изначально 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 документом, может произойти ошибка, чтобы ее избежать, достаточно указать в документе <base href=”url”>.
Список параметров загрузки
Основные команды для работы с загрузкой файлов с помощь 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 *ссылка с указанием точного и полного пути к файлу*.
Если имеется запланированный список со ссылками на файлы и документы, то можно использовать команду Wget -i filelist.txt.
Что касается загрузки веб-страниц, тут все несколько сложнее, но при этом и количество возможностей значительно возрастает. Чтобы не вводить параметры заново каждый раз, когда возникла необходимость загрузить веб-сайт, можно создать скрипты или прописать все настройки в файл .wgetrc.
Сохранить веб-страницу в виде ссылок (будет сложно открыть их на локальной машине) можно с помощью команды Wget -m *ссылка с указанием точного и полного пути к файлу*.
Чтобы эта же страница оказалась доступной для просмотра без подключения к сети Интернет, можно использовать команду Wget -r -10 -k *ссылка с указанием точного и полного пути к файлу*.
Ошибка формата Wget команда не найдена может означать любую опечатку и неправильно указанный параметр.