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.