Как использовать команду Wget

Как использовать команду Wget

В этом руководстве расскажем вам о команде ОС Linux wget. Покажем вам 12 полезных примеров её использования. К концу руководства вы будете достаточно знать об этой команде и сможете легко качать файлы из всемирной сети интернет.

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

К предложению

Что такое команда Wget?

Wget – это инструмент от GNU Project. Его можно использовать для скачивания контента и файлов с различных веб-серверов. Название состоит из комбинации World Wide Web и get. Инструмент поддерживает скачивание по FTP, SFTP, HTTP и HTTPS.

Wget создан на языке программирования C и используется на любой Unix-системе. Его также можно внедрить на Mac OS X, Microsoft Windows, AmigaOS и других популярных платформах.

Как установить Wget?

Для демонстрации работы команды wget мы будем использовать ОС Ubuntu 16.04. Но синтаксис будет одинаков и для других дистрибутивов Linux.

Прежде, зайдите на свой сервер по SSH. Выполните команду для установки wget в вашей системе:

apt-get install wget

Как только закончится установка, командой можно пользоваться. Конечно же знание базовых команд SSH облегчит вам задачу.

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

Для ознакомления мы предлагаем 12 примеров использования команды wget, которые пригодятся вам для ежедневных задач. Помните также, что вы можете использовать эти команды в виде скрипта и задач cron!

Как командой Wget скачать один файл

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

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

После запуска команды вы увидите:

--2018-02-23 12:53:10-- https://wordpress.org/latest.zip
Resolving wordpress.org (wordpress.org)... 198.143.164.252
Connecting to wordpress.org (wordpress.org)|198.143.164.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9332728 (8,9M) [application/zip]
Saving to: 'latest.zip'

latest.zip 100%[===================>] 8,90M 6,88MB/s in 1,3s

2018-02-23 12:53:14 (6,88 MB/s) - 'latest.zip' saved [9332728/9332728]

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

Как командой Wget скачать несколько файлов

Мы можем взять предыдущий пример и скачать несколько файлов за один раз. Для этого нам потребуется создать текстовый документ и поместить туда URL для скачивания. В этом примере мы запросим последние версии WordPressJoomla и Drupal. Введите следующее:

nano example.txt

Это создаст файл example.txt и откроет интерфейс текстового редактора. Вставьте этот текст туда:

https://wordpress.org/latest.zip
https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip
https://ftp.drupal.org/files/projects/drupal-8.4.5.zip

Как только сделаете это, вы можете использовать -i для получения всех файлов, ссылки на которые есть в текстовом файле example:

wget -i example.txt

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

Как командой Wget скачать файлы под другими названиями

В этом примере мы сохраним файл, используя другое имя при помощи опции -O:

wget -O wordpress-install.zip https://wordpress.org/latest.zip

В этом случае скачанный ресурс будет сохранён под названием wordpress-install.zip вместо оригинального имени.

Как командой Wget скачать файл и сохранить его в специальный каталог

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

wget -P documents/archives/ https://wordpress.org/latest.zip

Файл, который вы хотите получить появится в каталоге documents/archives/.

Как в команде Wget ограничить скорость скачивания

Вы можете ещё и устанавливать, скорость скачивания. Это полезно, когда вы запрашиваете большие файлы и предотвращает от полного занимания канала. Данный пример применения wget устанавливает лимит в 500k:

wget --limit-rate=500k https://wordpress.org/latest.zip

Как в команде установить количество повторных попыток

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

wget -tries=100 https://wordpress.org/latest.zip

Как командой Wget скачивать в фоновом режиме

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

wget -b http://example.com/beefy-file.tar.gz

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

tail -f wget-log

Как командой Wget скачивать по FTP

Команда также применима для работы по FTP. Вам всего лишь нужно указать имя пользователя и пароль, как в примере ниже:

wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar

Как продолжить прерванное скачивание

Ваше скачивание прервётся, если потеряется связь с интернетом или произойдёт отключение энергоснабжения. Это достаточно распространённые случаи, когда вы скачиваете что-то большое по размеру. Вместо того, чтобы заново начинать, можно продолжить процесс скачивания используя ключ -c:

wget -c https://example/very-big-file.zip

Если вы запустите процесс без ключа -c, к новому файлу в конце будет добавлено .1, так как файл с таким названием уже существует.

Как командой Wget скачать сайт

Команду можно использовать для скачивания всего сайта. Это позволит просматривать сайт локально без подключения к интернету. Вот пример:

wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://some-website.com

Давайте разберём пример подробнее:

–mirror Этот ключ делает ваше скачивание рекурсивным.
–convert-links Все ссылки будут преобразованы для офлайн использования.
–page-requisites Этим мы включим для скачивания все необходимые файлы, такие как CSS, JS и картинки.
–no-parent Это гарантирует, что каталоги по иерархии выше не будут загружены.
-P documents/websites/ Эта опция гарантирует, что весь контент будет направлен в указанный каталог.

Как только процесс закончится, вы сможете открыть скачанный сайт локально и найти все файлы в каталоге documents/websites/.

Как использовать команду Wget для поиска битых ссылок

Давайте попробуем кое-что более сложное. Мы может применять команду для нахождения битых URL-ссылок, которые выдают ошибку 404 на конкретном сайте. Начнём с выполнения следующего:

wget -o wget-log -r -l 5 --spider http://example.com
-o Собирает вывод в файл для использования позже.
-l Задаёт уровень рекурсии.
-r Делает скачивание рекурсивным.
–spider Устанавливает команду в режим работы “паука”.

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

grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u

Как командой Wget скачать пронумерованный файлы

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

wget http://example.com/images/{1..50}.jpg

Заключение

Поздравляем! Теперь, после проработки этого руководства, вы знакомы с различными вариантами использования команды. Вы можете пользоваться ею для получения одного или нескольких файлов. К тому же, вы ознакомились с некоторыми более сложными вариантами использования этой команды, такими как: скачивание сайта целиком или нахождения битых URL-ссылок. Для более подробной информации обратитесь к официальной документации(англ.).

Может быть у вас есть какие-то советы или уловки, которыми вы бы хотели поделиться? Пишите их в комментариях ниже!

Author
Автор

Elena B.

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.