Всі ми іноді завантажуємо файли з інтернету. Якщо для цього використовувати програми з графічним інтерфейсом, то все виявляється дуже просто. Але, при роботі у командному рядку Linux справа дещо ускладнюється. Особливо для тих, хто не знайомий з відповідними засобами. Один з таких засобів - надзвичайно потужна утиліта wget, яка підходить для виконання всіх видів завантажень. Пропоную вашій увазі дванадцять прикладів, розібравши які, можна дізнатися про основні можливості wget.

1. Завантаження одного файлу

Якщо все, що потрібно - це завантаження одного файлу, нам підійде наступна конструкція:
$ wget http://centos.ip-connect.vn.ua/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

Після введення такої команди почнеться завантаження образу CentOS 7 NetInstall. В ході цього процесу можна буде бачити дані про завантаження, такі як відомості про те, який обсяг даних вже завантажений, поточну швидкість, і те, скільки часу залишилося до кінця завантаження.

2. Завантаження файлу і збереження його з новим ім'ям

Якщо ми хочемо зберегти завантажений файл під ім'ям, відмінним від його вихідного імені, нам знадобиться команда wget з параметром -O:
$ wget -O CentOS_latest_NetInstall.iso http://centos.ip-connect.vn.ua/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

При такому підході долучення буде збережений під ім'ям CentOS_latest_NetInstall.iso.

3. Обмеження швидкості завантаження файлів

При необхідності швидкість завантаження файлів за допомогою wget можна обмежити. В результаті ця операція не буде займати весь доступний канал передачі даних і не вплине на інші процеси, пов'язані з мережею. Зробити це можна, використовуючи параметр --limit-rate та вказавши обмеження швидкості, виражене в байтах (у вигляді звичайного числа), кілобайтах (додавши після числа K) або мегабайтах (M) в секунду:

$ wget ––limit-rate=500K http://centos.ip-connect.vn.ua/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

Тут задано обмеження швидкості завантаження, рівне 500 Кб/с.

4. Завершення перерваного завантаження

Якщо в ході завантаження файлів ця операція була перервана, можна відновити завантаження за допомогою параметра -c команди wget:
$ wget –c http://centos.ip-connect.vn.ua/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

Якщо цей параметр не використовувати, то завантаження не повністю завантажених файлів почнеться спочатку.

5. Фонове завантаження файлу

Якщо ви завантажуєте файл великого розміру і хочете виконувати цю операцію у фоновому режимі, зробити це можна, використовуючи параметр -b:
$ wget –b http://centos.ip-connect.vn.ua/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

6. Завантаження декількох файлів

Якщо є список URL файлів, які треба завантажити, але вам не хочеться вручну запускати завантаження цих файлів, можна використовувати параметр -I. Але, перед тим, як починати завантаження, потрібно створити файл, який містить всі адреси. Наприклад, зробити це можна такою командою:
$ mcedit url.txt

У цей файл потрібно помістити адреси - по одній в кожному рядку. Далі, залишилося лише запустити wget, передавши цій утиліті щойно створений файл зі списком завантажень:
$ wget –I url.txt

Виконання цієї команди приведе до почергової завантаженні всіх файлів зі списку.

7. Збільшення загального числа спроб завантаження файлу

Для того, щоб налаштувати число повторних спроб завантаження файлу, можна використовувати параметр --tries:
$ wget ––tries=100 http://centos.ip-connect.vn.ua/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

8. Завантаження файлів з FTP-серверу

Команда завантаження файлу з анонімного FTP-серверу за допомогою wget виглядає так:
$ wget FTP-URL

Якщо для доступу до файлу потрібні ім'я користувача та пароль, тоді команда прийме такий вигляд:
$ wget –-ftp-user=admin ––ftp-password=1234567890 FTP-URL

9. Створення локальної копії веб-сайту

Якщо потрібно завантажити вміст цілого веб-сайту, це можна зробити, скориставшись параметром --mirror:
$ wget --mirror -p --convert-links -P /home/admin domain.tld

Зверніть увагу на додаткові параметри командного рядка:

  • -p: проводиться завантаження всіх файлів, необхідних для коректного відображення HTML-сторінок.
  • --convert-links: посилання в документах будуть перетворені для цілей локального перегляду сайту.
  • -P /home/admin: матеріали будуть збережені в папку /home/admin.

10. Завантаження з сайту тільки файлів певного типу

Для того, щоб завантажити з сайту тільки файли певного типу, можна скористатися параметрами -r -A:
$ wget -r -A.txt Website_url

11. Пропуск файлів певного типу

Якщо ви хочете скопіювати цілий веб-сайт, але при цьому вам не потрібні файли певного типу, вимкнути їх завантаження можна за допомогою параметру --reject:
$ wget --reject=png Website_url

12. Завантаження з використанням власного .log-файлу

Для того, щоб завантажити файл та використовувати при цьому власний .log -файл, скористайтеся параметром -o та вкажіть ім'я файлу журналу:
$ wget -o wgetfile.log http://centos.ip-connect.vn.ua/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1708.iso

Підсумок

Wget - досить проста у використанні, але дуже корисна утиліта Linux. І, насправді те, про що вдалося розповісти - лише мала частина того, що вона вміє. Сподіваюся, цей огляд допоможе тим, хто не був знайомий з wget, оцінити цю програму, і, можливо, включити її в свій повсякденний арсенал інструментів командного рядка.