Thank you for reading this post, don't forget to subscribe!
wget это бесплатная утилита, которая может быть использована для извлечения файлов с использованием HTTP, HTTPS и FTP, которые рассматриваются в качестве наиболее широко используемых протоколов Интернета.
Ее название происходит от World Wide Web + get. wget имеет много особенностей, что делает ее очень легкой задачей, когда речь идет о получении больших файлов, рекурсивные загрузки, несколько загрузок файлов или зеркалирование целых веб-сайтов или FTP.
wget не является интерактивным, что дает большую гибкость при его использовании. Она может быть вызвана из сценариев, хрона, терминалов и т.д. Она может работать в фоновом режиме, даже если пользователь не вошел в систему. Это позволяет начать загрузку файла и отключиться от системы, позволяя wget закончить работу.
В этой статье мы продемонстрируем использование wget через несколько практических примеров, которые вы можете использовать, чтобы выполнить некоторые из наиболее распространенных задач, таких как загрузка файлов или даже зеркального отображения целых веб – сайтов.
Вход на сервер и установка wget
Первый шаг, это войти на сервер через SSH.
После того, как были установлены обновления, вы можете установить пакет программного обеспечение wget с помощью следующей команды:
1 |
yum install wget |
После того, как установка будет завершена, вы можете начать использовать команду wget на сервере.
1. Команда wget для загрузки одного файла
Наиболее распространенное и простое использование wget, это скачать один файл и сохранить его в текущем каталоге.
Например, чтобы загрузить последнюю версию WordPress можно использовать следующую команду:
1 |
wget https://wordpress.org/latest.zip |
Это вывод, который вы получите во время загрузки файла:
1 2 3 4 5 6 7 8 9 10 11 12 |
--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».
2. Команда wget для загрузки файла и сохранение его под другим именем
Вы можете сохранить файл под другим именем. Чтобы сделать это, вы можете использовать опцию -O, как в этом примере:
1 |
wget -O wordpress.zip https://wordpress.org/latest.zip |
Она загрузит и сохранит последнюю установку WordPress в текущем каталоге под названием «wordpress.zip».
3. Команда wget для загрузки файла и сохранение его в определенном каталоге
Для того, чтобы загрузить файл и сохранить его в другом каталоге, вы можете использовать опцию -P, например:
1 |
wget -P /opt/wordpress https://wordpress.org/latest.zip |
Она скачает и сохранит файл в каталоге /opt/wordpress на сервере.
4. Команда wget, чтобы установить скорость загрузки
Если вы случайно загрузите огромный файл, который занимает больше времени, чем необходимо для полной загрузке, вы можете ограничить скорость загрузки для предотвращения wget с использованием полной возможной пропускной способности соединения.
Чтобы ограничить скорость загрузки, например до 300k, вы можете использовать следующую команду:
1 |
wget --limit-rate=300k https://wordpress.org/latest.zip |
5. Команда wget для продолжения прерванной загрузки
Иногда, когда вы загружаете очень большой файл, который будет занимать больше времени для полного скачивания, вы можете временно потерять подключение к Интернету и загрузка будет прервана.
Для того, чтобы избежать повторного запуска всей загрузки, вы можете продолжить, откуда прерывалось скачивание с помощью опции -c:
1 |
wget -c https://wordpress.org/latest.zip |
Если загрузка прервется, и вы начинаете все скачать снова без опции -c, wget будет добавлять «.1» до конца файла, так как имя файла с предыдущим именем уже существует.
6. Команда wget для загрузки в фоновом режиме
Для больших файлов, вы также можете использовать опцию -b, чтобы загрузить файл в фоновом режиме.
1 |
wget -b http://example.com/big-file.zip |
Вывод будет записан в файле «wget-log» в том же каталоге, и вы всегда можете проверить статус загрузки с помощью следующей команды:
1 |
tail -f wget-log |
7. Команда wget, увеличение повторных попыток
Если у вас возникли проблемы с подключением к Интернету, и загрузка становится прерванной несколько раз, вы можете увеличить повторные попытки загрузить файл с опции -tries:
1 |
wget -tries=100 https://example.com/file.zip |
8. Команда wget для загрузки нескольких файлов
Если вы хотите загрузить несколько файлов в одно и то же время, вы можете создать текстовый файл (например download.txt), где разместить все URL-адреса файлов, которые вы хотите загрузить. Для создания текстового файла выполните следующие действия:
1 |
touch download.txt |
После этого вы можете отредактировать файл с nano и ввести все URL-адреса всех файлов, которые вы хотите загрузить:
1 |
nano download.txt |
1 2 3 4 5 |
http://example.com/file1.zip http://example.com/file2.zip http://example.com/file3.zip |
После сохранения файла, вы можете использовать опцию -i, чтобы загрузить все файлы, сохраненные в этом текстовом файле:
1 |
wget -i download.txt |
9. Команда wget для загрузки через FTP
Вы также можете использовать wget для загрузки файла непосредственно через FTP, используя набор имя пользователя и пароль, с помощью следующей команды:
1 |
wget --ftp-user=username --ftp-password=password ftp://url-to-ftp-file |
10. Команда wget для скачивания всего сайта
Вы даже можете использовать wget для загрузки всего веб-сайта, который вы можете просматривать локально, в автономном режиме, без необходимости подключения к интернету. Для этого можно использовать следующую команду:
1 |
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, а затем путь к каталогу.