Консольна команда 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 7:03:23 (3,27 MB / s) - '1.txt' 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