30 практических примеров применения команды «wget» в Linux

wget — это утилита командной строки (свободная консольная программа), используемая в Linux для неинтерактивной загрузки файлов из Интернета. Она поддерживает широкий спектр протоколов, включая HTTP, HTTPS и FTP, что делает её достаточно универсальной для различных задач, таких как загрузка отдельных файлов, целых веб-сайтов или файлов, перечисленных в текстовом файле. 

Команда wget особенно полезна для автоматизации задач загрузки, выполнения рекурсивных загрузок и возобновления прерванных загрузок. Её использование в командной строке позволяет легко интегрировать команду в скрипты и задания cron, что делает её незаменимым инструментом для системных администраторов и опытных пользователей.

В этом руководстве будут рассмотрены 30 практических примеров использования wget, демонстрирующих, как её можно использовать для решения множества распространенных и расширенных задач загрузки. От простых загрузок файлов до более сложных сценариев, таких как зеркальное отображение веб-сайтов и обработка аутентификации, эти примеры помогут вам освоить команду wget и максимально использовать ее возможности.

Понимание синтаксиса команд Wget

Базовый синтаксис wget следующий:

wget [option] [URL]

В рамках приведенного выше синтаксиса:

  • Команда wget является триггером для развертывания утилиты.
  • [option] действует как произвольный параметр, позволяющий определять различные конфигурации. Wget поставляется с широким набором опций, которые позволяют пользователям изменять её работу. В соответствии с вашими потребностями можно задействовать широкий спектр настроек — от включения фоновых загрузок до ограничения скорости загрузки.
  • [URL] обозначает веб-адрес файла, который вы хотите загрузить. Здесь вы вводите конкретное местоположение в Интернете, откуда утилита извлекает файл.

Примеры команд Wget

Ниже мы продемонстрируем различные примеры использования команды wget.

1. Загрузка одного файла

Наиболее простым использованием wget является загрузка одного файла с указанного URL.

wget https://example.com/file.zip

Эта команда загрузит файл с именем file.zip из example.com и сохранит его в текущем рабочем каталоге.

2. Загрузка в фоновом режиме

Для загрузки больших файлов wget можно запустить в фоновом режиме, используя опцию ‘-b’.

wget -b https://example.com/largefile.zip

Эта команда инициирует загрузку largefile.zip в фоновом режиме, позволяя вам продолжать использовать терминал для других задач.

3. Ограничение скорости загрузки

Чтобы wget не потреблял всю доступную полосу пропускания, вы можете ограничить скорость загрузки с помощью опции ‘—limit-rate’.

wget --limit-rate=200k https://example.com/file.zip

Эта команда ограничивает скорость загрузки до 200 КБ / с, гарантируя, что процесс загрузки не отразится на других действиях при работе в Интернете.

4. Загрузка нескольких файлов

Wget может загружать несколько файлов одновременно. Это достигается созданием текстового файла со списком URL-адресов и использованием опции ‘-i’.

wget -i urls.txt

В этом примере urls.txt это текстовый файл, содержащий URL-адреса всех файлов, которые необходимо загрузить. Команда загружает все файлы, перечисленные в urls.txt.

5. Загрузка всего веб-сайта

Wget можно использовать для загрузки всего веб-сайта для просмотра в автономном режиме. Для этого используется опция ‘—mirror’ или ‘-m’.

wget --mirror https://example.com

Эта команда позволяет отобразить весь веб-сайт example.com, все его страницы и ресурсы загружаются для использования в автономном режиме.

6. Загрузка файлов с определенными расширениями

Чтобы загружать файлы с определенными расширениями с веб-сайта, используйте опцию ‘-r’ для рекурсивной загрузки и ‘-A’ для указания типов файлов.

wget -r -A.pdf https://example.com

Эта команда загружает все файлы формата PDF из example.com и ее подкаталогов.

7. Загрузка файлов под разными именами

Используя опцию ‘-O’, вы можете сохранить файл под другим именем.

wget -O myFile.zip https://example.com/file.zip

Эта команда загружает file.zip с example.com и сохраняет как myFile.zip в текущем каталоге.

8. Сохранение файлов в указанном каталоге

Вы можете указать каталог для сохранения загруженного файла, используя опцию ‘-P’.

wget -P /path/to/directory https://example.com/file.zip

Эта команда загружает file.zip с example.com и сохраняет в каталоге: /path/to/directory.

9. Настройка попыток повторения

Используя опцию ‘—tries’, вы можете задать количество повторных попыток на случай, если загрузка завершится неудачей.

wget --tries=3 https://example.com/file.zip

Эта команда пытается загрузить file.zip из example.com до 3 раз, прежде чем прекратить работу.

10. Загрузка по FTP

Wget также может загружать файлы по FTP. Вам необходимо указать имя пользователя и пароль.

wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://example.com/file.zip

Эта команда загружает file.zip с FTP-сервера по адресу example.com с использованием указанных имени пользователя и пароля.

11. Продолжение прерванных загрузок

Если ваша загрузка будет прервана, вы можете продолжить использовать опцию ‘-c’.

wget -c https://example.com/file.zip

Эта команда возобновляет загрузку file.zip из example.com с того места, на котором она была прервана.

12. Извлечение целых веб-сайтов

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

wget --mirror --convert-links --page-requisites --no-parent -P /path/to/directory https://example.com

Эта команда загружает весь example.com веб-сайт и его ресурсы, преобразует ссылки для автономного использования и сохраняет все в каталоге, указанном с помощью /path/в /directory.

13. Поиск неработающих ссылок

Wget можно использовать для поиска всех поврежденных URL, которые отображают ошибку 404 на определенном веб-сайте.

wget -o wget-log -r -l 5 --spider http://example.com

Эта команда проверяет все ссылки на example.com глубиной до 5 уровней и регистрирует результаты в wget-log.

14. Загрузка пронумерованных файлов

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

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

Эта команда загружает изображения 1.jpg в 50.jpg откуда example.com/images.

15. Загрузка файлов с таймаутом

С помощью параметра ‘–timeout‘ вы можете установить тайм-аут, когда вы прекращаете попытки подключиться или читать с сайта.

wget --timeout=30 https://example.com/file.zip

Эта команда пытается загрузить файл file.zip из example.com, но остановится, если не удастся подключиться к сайту в течение 30 секунд.

16. Игнорирование регистра при сопоставлении файлов / каталогов

Опция ‘-nc’ или ‘–no-clobber’ предотвращает перезапись wget существующих файлов или каталогов.

wget -nc https://example.com/file.zip

Эта команда загружает file.zip из example.com только в том случае, если файл с таким именем еще не существует в текущем каталоге, т.е. в том каталоге, куда производится загрузка.

17. Загрузка только определенных типов файлов

Используя ‘-r’ и ‘-A’, вы можете указать wget загружать с сайта только определенные типы файлов.

wget -r -A jpeg,jpg,bmp,gif,png https://example.com

Эта команда загружает все файлы JPEG, JPG, BMP, GIF и PNG из example.com и ее подкаталогов.

18. Загрузка всех файлов, кроме определенных типов

Используя опцию ‘-R’ или ‘-reject’, вы можете указать wget загружать с сайта все файлы, за исключением определенных типов файлов.

wget -r -R pdf https://example.com

Эта команда загружает все файлы из example.com и ее подкаталогов, за исключением файлов PDF.

19. Загрузка файлов с веб-сайтов, использующих файлы cookie

Некоторые веб-сайты требуют, чтобы пользователи принимали файлы cookie, прежде чем они смогут получить доступ к файлам. В этом случае вы можете использовать опцию ‘—load-cookies’.

wget --load-cookies /path/to/cookies.txt https://example.com

Эта команда загружает файлы с example.com используя файлы cookie, хранящиеся в cookies.txt.

20. Загрузка файлов с сайтов, защищенных паролем

Если для сайта требуется аутентификация по имени пользователя и паролю, вы можете передать их, используя опции ‘—user’ и ‘—password’.

wget --user=USERNAME --password=PASSWORD https://example.com

Эта команда загружает файлы из example.com, используя указанные имя пользователя и пароль.

21. Загрузка файлов из списка URL-адресов

Вы можете загружать файлы из списка URL-адресов, используя опцию ‘-i’.

wget -i list.txt

Эта команда загружает файлы с URL-адресов, перечисленных в list.txt.

22. Загрузка файлов в определенный каталог

Используя опцию ‘-P‘, вы можете указать каталог, в котором будут сохранены загруженные файлы.

wget -P /path/to/directory -i list.txt

Эта команда загружает файлы с URL-адресов, перечисленных в list.txt, и сохраняет их в каталоге, указанном /path/to/directory.

23. Загрузка файлов с определенным расширением

Вы можете загружать файлы с определенным расширением, используя опцию ‘-A’.

wget -r -A .pdf https://example.com

Эта команда загружает все файлы PDF из example.com.

24. Загрузка файлов из определенного каталога

С помощью wget можно загружать файлы из определенного каталога на веб-сайте.

wget -r -np -nH --cut-dirs=3 -R index.html https://example.com/dir/subdir/

Эта команда загружает все файлы из каталога subdir на example.com.

25. Загрузка файлов с определенным шаблоном в их URL

С помощью wget можно загружать файлы с определенным шаблоном в URL-адресе.

wget -r -np -nH --cut-dirs=3 -A '*.pdf' https://example.com/dir/subdir/

Эта команда загружает все файлы PDF из каталога subdir на <url> example.com.

26. Загрузка файлов с веб-сайта с помощью FTP

С помощью wget можно загружать файлы с веб-сайта по FTP.

wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://example.com/

Эта команда загружает файлы с example.com используя FTP с указанным именем пользователя и паролем.

27. Загрузка файлов с веб-сайта по протоколу HTTPS

С помощью wget можно загружать файлы с веб-сайта, использующего HTTPS.

wget https://example.com/file.zip

Эта команда загружает file.zip из example.com по протоколу HTTPS.

28. Загрузка файлов с веб-сайта по протоколу HTTP

С помощью wget можно загружать файлы с веб-сайта по протоколу HTTP.

wget http://example.com/file.zip

Эта команда загружает file.zip из example.com по HTTP.

29. Загрузка файлов с веб-сайта с помощью прокси

Вы можете загружать файлы с веб-сайта, используя прокси с wget.

wget -e use_proxy=yes -e http_proxy=PROXY_URL:PORT https://example.com/file.zip

Эта команда загружает file.zip из example.com с указанным прокси-сервером.

30. Загрузка файлов с веб-сайта и сохранение их под другим именем

С помощью wget можно загружать файлы с веб-сайта и сохранять их под другими именами.

wget -O newname.zip https://example.com/file.zip

Эта команда загружает file.zip с example.com и сохраняется как newname.zip.

Заключение

Освоив различные функции команды wget с помощью этих 30 практических примеров, вы сможете значительно повысить эффективность управления загрузками в Linux. Независимо от того, нужно ли вам загрузить один файл, автоматизировать серию загрузок или создать зеркальное отображение всего веб-сайта, wget обеспечивает гибкость и мощность для легкого выполнения этих задач. Регулярное использование wget может оптимизировать ваши рабочие процессы, сэкономить время и гарантировать, что вы используете один из самых полезных инструментов, доступных в наборе инструментов командной строки Linux.