Мы покажем вам 10 практических примеров команды wget. wget это бесплатная утилита, которая может быть использована для извлечения файлов с использованием HTTP, HTTPS и FTP, которые рассматриваются в качестве наиболее широко используемых протоколов Интернета.
Ее название происходит от World Wide Web + get. wget имеет много особенностей, что делает ее очень легкой задачей, когда речь идет о получении больших файлов, рекурсивные загрузки, несколько загрузок файлов или зеркалирование целых веб-сайтов или FTP.
wget не является интерактивным, что дает большую гибкость при его использовании. Она может быть вызвана из сценариев, хрона, терминалов и т.д. Она может работать в фоновом режиме, даже если пользователь не вошел в систему. Это позволяет начать загрузку файла и отключиться от системы, позволяя wget закончить работу.
В этой статье мы продемонстрируем использование wget через несколько практических примеров, которые вы можете использовать, чтобы выполнить некоторые из наиболее распространенных задач, таких как загрузка файлов или даже зеркального отображения целых веб – сайтов.
Для этой демонстрации, мы установим wget на Ubuntu 16.04 VPS.
Обратите внимание, что даже если это было проверено на Ubuntu 16.04, инструкции также могут быть использованы на любом другом дистрибутиве Linux.
Первый шаг, это войти на сервер через SSH.
Вы также можете убедиться, что ваш сервер находится в актуальном состоянии с помощью следующих команд:
apt-get update apt-get upgrade
После того, как были установлены обновления, вы можете установить пакет программного обеспечение wget с помощью следующей команды:
apt-get install wget
После того, как установка будет завершена, вы можете начать использовать команду wget на сервере.
Наиболее распространенное и простое использование wget, это скачать один файл и сохранить его в текущем каталоге.
Например, чтобы загрузить последнюю версию WordPress можно использовать следующую команду:
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) [application/zip] 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 [8912693/8912693] root@destroyer:~#
Как вы можете видеть, она также показывает прогресс загрузки, текущую скорость загрузки, размер, дату, время и имя файла.
В нашем случае эта команда загрузит файл и сохранит его в текущем каталоге под именем «latest.zip».
Вы можете сохранить файл под другим именем. Чтобы сделать это, вы можете использовать опцию -O, как в этом примере:
wget -O wordpress.zip https://wordpress.org/latest.zip
Она загрузит и сохранит последнюю установку WordPress в текущем каталоге под названием «wordpress.zip».
Для того, чтобы загрузить файл и сохранить его в другом каталоге, вы можете использовать опцию -P, например:
wget -P /opt/wordpress https://wordpress.org/latest.zip
Она скачает и сохранит файл в каталоге /opt/wordpress на сервере.
Если вы случайно загрузите огромный файл, который занимает больше времени, чем необходимо для полной загрузке, вы можете ограничить скорость загрузки для предотвращения wget с использованием полной возможной пропускной способности соединения.
Чтобы ограничить скорость загрузки, например до 300k, вы можете использовать следующую команду:
wget --limit-rate=300k https://wordpress.org/latest.zip
Иногда, когда вы загружаете очень большой файл, который будет занимать больше времени для полного скачивания, вы можете временно потерять подключение к Интернету и загрузка будет прервана.
Для того, чтобы избежать повторного запуска всей загрузки, вы можете продолжить, откуда прерывалось скачивание с помощью опции -c:
wget -c https://wordpress.org/latest.zip
Если загрузка прервется, и вы начинаете все скачать снова без опции -c, wget будет добавлять «.1» до конца файла, так как имя файла с предыдущим именем уже существует.
Для больших файлов, вы также можете использовать опцию -b, чтобы загрузить файл в фоновом режиме.
wget -b http://example.com/big-file.zip
Вывод будет записан в файле «wget-log» в том же каталоге, и вы всегда можете проверить статус загрузки с помощью следующей команды:
tail -f wget-log
Если у вас возникли проблемы с подключением к Интернету, и загрузка становится прерванной несколько раз, вы можете увеличить повторные попытки загрузить файл с опции -tries:
wget -tries=100 https://example.com/file.zip
Если вы хотите загрузить несколько файлов в одно и то же время, вы можете создать текстовый файл (например 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
Вы также можете использовать wget для загрузки файла непосредственно через FTP, используя набор имя пользователя и пароль, с помощью следующей команды:
wget --ftp-user=username --ftp-password=password ftp://url-to-ftp-file
Вы даже можете использовать 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.