В системах на базе UNIX и Linux команда wget является мощной утилитой для загрузки файлов из Интернета. Благодаря своей универсальности она способна решать самые разнообразные задачи - от загрузки отдельных файлов до зеркалирования целых сайтов. Цель данного руководства - подробно рассмотреть возможности wget.
Расшифровка основ работы программы Wget
Wget - это неинтерактивная бесплатная утилита, предназначенная для загрузки файлов из Интернета. Она поддерживает протоколы HTTP, HTTPS и FTP, а также может получать файлы через HTTP-прокси.
Основной синтаксис wget выглядит следующим образом:
1 | wget [опция] [URL] |
В рамках приведенного выше синтаксиса:
- Команда wget является триггером для развертывания утилиты.
- [option] выступает в качестве произвольного параметра, позволяющего задавать различные конфигурации. Wget поставляется с огромным количеством опций, позволяющих модифицировать его работу. От включения фоновой загрузки до ограничения скорости загрузки - широкий спектр настроек позволяет точно настроить Wget под свои нужды.
- [URL] означает веб-адрес файла, который необходимо загрузить. Здесь указывается конкретное место в Интернете, откуда утилита берет файл.
Подробные примеры команд Wget
1. Загрузка одного файла
Самое простое использование wget - это загрузка одного файла с указанного URL.
1 | wget https://example.com/file.zip |
Эта команда загрузит файл с именем file.zip с сайта example.com и сохранит его в текущем рабочем каталоге.
2. Загрузка в фоновом режиме
Для загрузки больших файлов wget можно запускать в фоновом режиме с помощью опции '-b'.
1 | wget -b https://example.com/largefile.zip |
Эта команда инициирует загрузку файла largefile.zip в фоновом режиме, что позволяет продолжать использовать терминал для решения других задач.
3. Ограничение скорости загрузки
Для того чтобы wget не потреблял всю доступную полосу пропускания, можно ограничить скорость загрузки с помощью опции '-limit-rate'.
1 | wget --limit-rate=200k https://example.com/file.zip |
Эта команда ограничивает скорость загрузки до 200 КБ/с, что позволяет не мешать другим видам деятельности в сети.
4. Загрузка нескольких файлов
Wget может загружать несколько файлов одновременно. Для этого необходимо создать текстовый файл со списком URL-адресов и использовать опцию '-i'.
1 | wget -i urls.txt |
В данном примере urls.txt - это текстовый файл, содержащий URL-адреса всех файлов, которые необходимо загрузить. Команда загружает все файлы, перечисленные в urls.txt.
5. Загрузка всего веб-сайта
С помощью Wget можно загрузить весь сайт для просмотра в автономном режиме. Для этого используется опция '-mirror' или '-m'.
1 | wget --mirror https://example.com |
Эта команда зеркалирует весь сайт example.com, загружая все его страницы и ресурсы для автономного использования.
6. Загрузка файлов с определенными расширениями
Чтобы скачать с сайта файлы с определенными расширениями, используйте опцию '-r' для рекурсивной загрузки, '-A' для указания типов файлов.
1 | wget -r -A.pdf https://example.com |
Эта команда загружает все PDF-файлы с сайта example.com и его подкаталогов.
7. Загрузка файлов под другими именами
Вы можете сохранить файл под другим именем, используя опцию '-O'.
1 | wget -O myFile.zip https://example.com/file.zip |
Эта команда загружает файл file.zip с сайта example.com и сохраняет его под именем myFile.zip в текущем каталоге.
8. Сохранение файлов в указанном каталоге
С помощью опции '-P' можно указать каталог для сохранения загруженного файла.
1 | wget -P /path/to/directory https://example.com/file.zip |
Эта команда загружает файл file.zip с сайта example.com и сохраняет его в каталоге, указанном /path/to/directory.
9. Настройка повторных попыток
С помощью опции '-tries' можно задать количество повторных попыток в случае неудачной загрузки.
1 | wget --tries=3 https://example.com/file.zip |
Эта команда пытается загрузить файл file.zip с сайта example.com до 3 раз, после чего отказывается.
10. Загрузка по FTP
Wget также может загружать файлы по FTP. Для этого достаточно указать имя пользователя и пароль.
1 | wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://example.com/file.zip |
Эта команда загружает файл file.zip с FTP-сервера по адресу example.com, используя указанные имя пользователя и пароль.
11. Продолжение прерванной загрузки
Если загрузка прервалась, ее можно продолжить с помощью опции '-c'.
1 | wget -c https://example.com/file.zip |
Эта команда возобновляет загрузку файла file.zip с сайта example.com с того места, на котором она остановилась.
12. Извлечение целых веб-сайтов
С помощью комбинации опций можно загрузить все содержимое сайта для автономного просмотра.
1 | wget --mirror --convert-links --page-requisites --no-parent -P /path/to/directory https://example.com |
Эта команда загружает весь сайт example.com и его активы, конвертирует ссылки для автономного использования и сохраняет все в каталоге, указанном /path/to/directory.
13. Поиск битых ссылок
Программа Wget может быть использована для поиска всех неработающих URL-адресов, которые выдают ошибку 404 на определенном сайте.
1 | wget -o wget-log -r -l 5 --spider http://example.com |
Эта команда проверяет все ссылки на сайте example.com до 5 уровней в глубину и записывает результаты в журнал wget-log.
14. Загрузка пронумерованных файлов
Если у вас есть файлы или изображения, пронумерованные в определенном списке, вы можете легко загрузить их все.
1 | wget http://example.com/images/{1..50}.jpg |
Эта команда загружает изображения с 1.jpg по 50.jpg с сайта example.com/images.
15. Загрузка файлов с таймаутом
С помощью опции '-timeout' можно задать таймаут, по которому wget будет прекращать попытки подключения или чтения с сайта.
1 | wget --timeout=30 https://example.com/file.zip |
Эта команда пытается загрузить файл file.zip с сайта example.com, но прекратит попытку, если не сможет подключиться или прочитать с сайта в течение 30 секунд.
16. Игнорирование регистра при сопоставлении файлов/каталогов
Опция '-nc' или '-no-clobber' не позволяет wget перезаписывать существующие файлы или каталоги.
1 | wget -nc https://example.com/file.zip |
Эта команда загружает файл file.zip с сайта example.com только в том случае, если файл с таким же именем еще не существует в текущем каталоге.
17. Загрузка файлов только определенных типов
С помощью опций '-r' и '-A' можно указать wget на загрузку с сайта файлов только определенных типов.
1 | wget -r -A jpeg,jpg,bmp,gif,png https://example.com |
Эта команда загружает все файлы JPEG, JPG, BMP, GIF и PNG с сайта example.com и его подкаталогов.
18. Загрузка всех файлов, кроме файлов определенных типов
С помощью опции '-R' или '-reject' можно указать wget на загрузку с сайта всех файлов, кроме файлов определенных типов.
1 | wget -r -R pdf https://example.com |
Эта команда загружает все файлы с сайта example.com и его подкаталогов, за исключением файлов PDF.
19. Загрузка файлов с сайтов, использующих файлы cookie
Некоторые сайты требуют, чтобы пользователи принимали cookies для доступа к файлам. В этом случае можно использовать опцию '-load-cookies'.
1 | wget --load-cookies /path/to/cookies.txt https://example.com |
Эта команда загружает файлы с сайта example.com, используя файлы cookie, хранящиеся в файле cookies.txt.
20. Загрузка файлов с сайтов, защищенных паролем
Если сайт требует аутентификации по имени пользователя и паролю, их можно передать с помощью опций '-user' и '-password'.
1 | wget --user=USERNAME --password=PASSWORD https://example.com |
Эта команда загружает файлы с сайта example.com, используя указанные имя пользователя и пароль.
21. Загрузка файлов из списка URL-адресов
Вы можете загрузить файлы из списка URL, используя опцию '-i'.
1 | wget -i list.txt |
Эта команда загружает файлы с URL-адресов, перечисленных в файле list.txt.
22. Загрузка файлов в определенный каталог
С помощью опции '-P' можно указать каталог, в который будут сохранены загруженные файлы.
1 | wget -P /path/to/directory -i list.txt |
Эта команда загружает файлы с URL, перечисленных в list.txt, и сохраняет их в каталоге, указанном /path/to/directory.
23. Загрузка файлов с определенным расширением файла
С помощью опции '-A' можно загружать файлы с определенным расширением.
1 | wget -r -A .pdf https://example.com |
Эта команда загружает все PDF-файлы с сайта example.com.
24. Загрузка файлов из определенного каталога
С помощью команды wget можно загружать файлы из определенного каталога на сайте.
1 | wget -r -np -nH --cut-dirs=3 -R index.html https://example.com/dir/subdir/ |
Эта команда загружает все файлы из каталога subdir на сайте example.com.
25. Загрузка файлов с определенным шаблоном в URL-адресе
С помощью команды wget можно загружать файлы, URL которых содержит определенный шаблон.
1 | wget -r -np -nH --cut-dirs=3 -A '*.pdf' https://example.com/dir/subdir/. |
Эта команда загружает все PDF-файлы из каталога subdir на сайте example.com.
26. Загрузка файлов с веб-сайта с помощью FTP
Загрузить файлы с сайта по FTP можно с помощью команды wget.
1 | wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://example.com/ |
Эта команда загружает файлы с сайта example.com по протоколу FTP с указанными именем пользователя и паролем.
27. Загрузка файлов с веб-сайта по протоколу HTTPS
Загрузить файлы с сайта, использующего HTTPS, можно с помощью команды wget.
1 | wget https://example.com/file.zip |
Эта команда загружает файл file.zip с сайта example.com по протоколу HTTPS.
28. Загрузка файлов с веб-сайта по протоколу HTTP
С помощью команды wget можно загружать файлы с веб-сайта по протоколу HTTP.
1 | wget http://example.com/file.zip |
Эта команда загружает файл file.zip с сайта example.com по протоколу HTTP.
29. Загрузка файлов с сайта через прокси-сервер
С помощью команды wget можно загружать файлы с сайта, использующего прокси-сервер.
1 | wget -e use_proxy=yes -e http_proxy=PROXY_URL:PORT https://example.com/file.zip |
Эта команда загружает файл file.zip с сайта example.com, используя указанный прокси.
30. Загрузка файлов с сайта и сохранение их под другим именем
Загрузить файлы с сайта и сохранить их под другим именем можно с помощью команды wget.
1 | wget -O newname.zip https://example.com/file.zip |
Эта команда загружает файл file.zip с сайта example.com и сохраняет его под именем newname.zip.
Заключение
Команда wget - это мощный инструмент с широким спектром применения. Ее универсальность делает ее незаменимым инструментом для любого пользователя, часто загружающего файлы из Интернета. Благодаря этому руководству вы получили более глубокое представление о wget и его возможностях. Удачной загрузки!