Консольная команда wget предназначена для скачивания файлов и контента с веб-серверов. Утилита работает по протоколам FTP, SFTP, HTTP и HTTPS.
Для установки wget на debian/ubuntu используйте команду:
apt-get install wget
После установки, утилита готова для работы.
Для начала приведем пример простых команд.
Скачать файл с сайта:
wges https://site.com/file.zip
Файл будет загружен в папку, где находятся пользователь во время выполнения команды.
Так же, можно составить список ссылок на файлы. Например, файл list_file.txt имеет содержимое:
https://example.com/test.zip https://site.com/catalog/image.png http://example.com/file-test.tar
выполняем команду, чтобы скачать все эти файлы:
wget -i list_file.txt
После завершения процесса все файлы, указанные в list_file.txt будут загружены.
При скачивании можно переименовать файл:
wges -0 my_download_file.zip https://site.com/file.zip
Файл загрузится с названием my_download_file.zip
Можно указать каталог, куда загружать файл:
wget -P /opt/files/ https://site.com/file.zip
В итоге файл будет загружен в папку /opt/files/
Для ограничения скорости загрузки выполняем:
wget --limit-rate=400k https://site.com/file.zip
лимит скорости загрузки будет 400k
При нестабильном интернет-соединении загрузка может прерываться. Установить количество повторных попыток загрузки файла можно через опцию -tries:
wget -tries=100 https://site.com/file.zip
Если нужно скачать файл большого размера, можно воспользоваться опцией -b, которая будет загружать файл в фоновом режиме:
wget -b https://site.com/file.zip
Для просмотра процесса загрузки просмотрите файл wget-log который был создан в рабочем каталоге:
less wget-log
Чтобы скачать файл по FTP используем команду,в которой нужно указать имя пользователя (USERNAME) и пароль (PASSWORD):
wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://site.com/my_file.tar
Таким же образом можно подключится и через http:
wget --http-user=USERNAME --http-password=PASSWORD https://site.com/my_file.tar
Можно воспользоваться опцией -c чтобы продолжить процесс загрузки, например, после разрыва интернет соединения:
wget -c https://site.com/my_file.tar
Если не указать параметр, то загрузка начнется заново и в рабочем каталоге будет создан такой же файл в имени которого добавлено .1.
Для опции -c так же есть несколько параметров. —start-pos — с помощью этого параметра можно указать wget откуда возобновить загрузку:
wget -c --start-pos=1500k http://example.com/file.zip
При использовании этой команды загрузка файла начнется с 1500k.
Параметр —progress указывает wget тип идентификатора визуализации процесса загрузки. Например, если мы используем команду без этого параметра — то процесс загрузки визуализируется так:
File.zip 100%[+++++==================================================================================================>] 1006K 3,12MB/s in 0,3s
Если же команда будет с параметром —progress:
wget -c --progress=dot https://example.com/file.zip
Визуализация будет выглядеть так:
0K .......... .......... .......... .......... .......... 4% 733K 1s 50K .......... .......... .......... .......... .......... 9% 794K 1s 100K .......... .......... .......... .......... .......... 14% 11,6M 1s 150K .......... .......... .......... .......... .......... 19% 1,57M 1s 200K .......... .......... .......... .......... .......... 24% 11,4M 1s 250K .......... .......... .......... .......... .......... 29% 1,73M 0s 300K .......... .......... .......... .......... .......... 34% 11,4M 0s 350K .......... .......... .......... .......... .......... 39% 11,8M 0s 400K .......... .......... .......... .......... .......... 44% 1,94M 0s 450K .......... .......... .......... .......... .......... 49% 11,8M 0s 500K .......... .......... .......... .......... .......... 54% 11,7M 0s 550K .......... .......... .......... .......... .......... 59% 11,5M 0s 600K .......... .......... .......... .......... .......... 64% 2,66M 0s 650K .......... .......... .......... .......... .......... 69% 11,7M 0s 700K .......... .......... .......... .......... .......... 74% 11,7M 0s 750K .......... .......... .......... .......... .......... 79% 11,7M 0s 800K .......... .......... .......... .......... .......... 84% 8,63M 0s 850K .......... .......... .......... .......... .......... 89% 11,7M 0s 900K .......... .......... .......... .......... .......... 94% 4,50M 0s 950K .......... .......... .......... .......... .......... 99% 12,4M 0s 1000K ..... 100% 309M=0,3s 2018-05-15 07:03:23 (3,27 MB/s) - ‘file.zip’ saved [1029668/1029668]
С помощью команды wget можно скачать html-страницы сайтов. К примеру можно скачать сайт, что позволит просматривать его локально, для этого используйте команду:
wget --mirror --convert-links --page-requisites -P ./websites/ https://website.com
С помощью ключа —mirror сайт скачивается рекурсивно, со всеми страницами.
Ключ —convert-links преобразовывает ссылки в локальные.
Ключ —page-requisites указывает, что необходимо скачать так же и дополнительные файлы как .css, .js и картинки.
Опция -P указывает сохранять все загруженные файлы в папку websites/ .
Так же, если в рекурсивном режиме указать ключ —https-only, то загрузка сайта будет только по ссылкам с https.
После завершения процесса загрузки все файлы будут доступны в каталоге websites.
Если на сервере хранятся пронумерованные файлы, например файлы с расширением.ico названия которых от 1 до 60, их все можно скачать с помощью команды:
wget http://example.com/images/{1..60}.ico