Завантаження файлів за допомогою wget

Ви новачок в системі Linux? Ви шукаєте інструмент командного рядка, який допоможе вам завантажувати файли з Інтернету? Якщо ваша відповідь на обидва ці питання «так», то ви прийшли в потрібне місце, так як в цій статті ми обговоримо основи використання утиліти командного рядка WGET.

Зверніть увагу, що всі приклади і вказівки, згадані в цій статті, були протестовані на Ubuntu 16.10.

Wget це в основному інструмент командного рядка, який дозволяє неінтерактивному завантаження файлів з Інтернету. Неінтерактівний- це означає те, що програма може працювати у фоновому режимі, поки користувач не увійшов в систему. Підтримувані протоколи включають HTTP, HTTPS і FTP.

Як працює Wget?

У наступних розділах описуються основи використання інструменту Wget, а також його особливості.

1. Як завантажити файл з допомогою wget?

Файл-інструмент завантаження буде збережений в поточному робочому каталозі користувача. Ось як ви можете використовувати wget при скачуванні файлу:

Ось приклад скріншота:

2. Як відновити завантаження за допомогою Wget?

У разі, якщо ваші поточні завантаження перервалися через поганий інтернет-з'єднання або з якої-небудь іншої причини, ви можете відновити їх, повторивши ту ж команду ще раз, але з використанням командного рядка -з:

Ось приклад скріншота (див. Друга команда):

Таким чином, ви можете побачити, що, коли команда Wget була запущена вдруге з опцією -c, завантаження почалася з того ж місця, де була зупинена. Ця опція також буде працювати, якщо ви захочете закінчити завантаження, розпочату в інших програмах, Wget.

3. Як завантажити файл має інше ім'я?

За замовчуванням, Wget зберігає файл з тим же ім'ям, яке він несе в Інтернеті. Але якщо ви хочете, ви також можете зберегти завантажений файл з іншим ім'ям. Ця функція здійснюється за допомогою команди -O (верхній регістр) параметра командного рядка.

Ось приклад скріншота:

4. Як перенаправити wget-висновок в файл журналу?

Якщо ви хочете, ви також можете перенаправити повідомлення / інформацію через wget, який видає висновок на стандартний файл журналу. Це можна зробити за допомогою -о (рядкової) параметра командного рядка.

Ось приклад знімка:

Як ви можете бачити на скріншоті вище, немає висновку або повідомлення відображаються на стандартний висновок. Це тому, що всі повідомлення перенаправляються на файл журналу з ім'ям «abc.log».

Ось що пише лог-файл в нашому випадку:

5. Як завантажити файли у фоновому режимі за допомогою wget

Використовуючи цей інструмент, ви можете качати файли у фоновому режимі. Завантажений файл буде збережений з ім'ям 'wget-log.'. Ця функція доступна за допомогою -б параметра командного рядка.

Зверніть увагу, що ви можете змінити ім'я файлу за допомогою-o (в Нижньому регістрі) як це зробити ми пояснили раніше.

6. Як обмежити швидкість завантаження при використанні Wget?

При використанні Wget, ви також можете обмежити швидкість завантаження. Це можна зробити за допомогою опції -limit-rate, яка вимагає значення в байтах в секунду. Сума може бути в байтах, кілобайтах з суфіксом «K» або мегабайтах з суфіксом «M».

Ось приклад, як обмежити швидкість завантаження до 50к:

7. Як змінити час читання команди wget?

Тайм-аут читання-це кількість часу (в секундах), за яке перевіряються дані з використанням wget (в разі не отримання даних), перш ніж відновити завантаження. За замовчуванням тайм-ауту читання триває 900 секунд, але ви можете змінити час за допомогою читання-тайм-аут.

8. Як змінити кількість повторних спроб?

Якщо завантаження переривається з - за поганого підключення до Інтернету або через будь-який інший помилки, інструмент намагається відновити завантаження. За замовчуванням, утиліт намагається це зробити 20 разів. а потім зупиняється. Але якщо ви хочете збільшити або зменшити число спроб, вам слід скористатися опцією -t командного рядка.

Як ви бачите на скріншоті вище, wget здався після двох спроб.

Примітка: Ця функція, за винятком критичних помилок "відмова в з'єднанні" або "не знайдено" (404), не повторюється.

9. Як змусити wget відображати зневадження?

Якщо ви хочете, ви також можете зробити так, щоб команда wget відображала додаткову інформацію, яка стосується процесу завантаження. Ця інформація корисна для налагодження, якщо інструмент не працює належним чином. Функцію можна отримати за допомогою -debug або -D параметрів.

10. Як змінити індикатор виконання завантаження Wget?

Якщо ви хочете, ви також можете змінити індикатор завантаження файлу показується в вихідних даних. Існує два типи показників: bar (який за замовчуванням) і dot. Проте, якщо вихід не відображається на терміналі (TTY), то точка індикатора використовується за умовчанням.

Опція --progress дозволяє вибрати тип індикатора, якщо ви хочете перевизначити поведінку за замовчуванням. наприклад:

Рухаємося далі, в залежності від розміру файлу, який Ви завантажуєте, Ви також можете налаштувати шлях завантаження відображається на індикаторі прогресу.

«Type» може бути bar або dot в той час як «параметр» може визначаться за замовчуванням, двійковий, мега або гіга.

Наприклад, якщо ви хочете встановити «type» в якості dot і двійковий «parameter», то ви можете використовувати наступну команду:

Зверніть увагу на те, який параметр ви вибираєте (двійковий, мега або гіга), як правило, це залежить від розміру завантаження. Ось що на Man-сторінці говорить про ці стилях:

У стилі "за замовчуванням" кожна точка відповідає 1 до, тобто десять точок в кластері і 50 точок в лінії. "Бінарний" стиль більш компьютезірованний як орієнтація --- 8к dots, 16-dots кластерів і 48 dots в рядку (для 384 тис. Рядків). "Мега" стиль підходить для скачування великих файлів --- кожна точка являє 64К, існує вісім dots на кластер і 48 dots в кожному рядку (так що кожен рядок містить 3М). Якщо "мега" мало, то ви можете використовувати "гіга" стиль --- кожна dots являє 1М перевірено вісім dots в кластері, і 32 dots в кожному рядку (так кожен рядок містить 32М).

Це зовсім небагато з тих додаткових опцій командного рядка, що пропонує wget. Однак, тих, які ми тут обговорили, має бути достатньо. Спробуйте ці, і в разі будь-яких сумнівів або запиту, зверніться до команди Man.