Як використовувати wget, інструмент для завантаження Ultimate Command Line

Як використовувати wget, інструмент для завантаження Ultimate Command Line

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

Звичайно, є причина, через яку не всі використовують wget: це програма командного рядка, тому початківцям потрібно вчитися трохи часу. Ось основи, щоб ви могли почати.


Як встановити wget

Перш ніж ви зможете використовувати wget, вам необхідно встановити його. Як це зробити, залежить від вашого комп'ютера:

  • Більшість дистрибутивів Linux постачаються з wget за замовчуванням. Таким чином, користувачі Linux не повинні нічого робити!
  • Системи MacOS не поставляються з wget, але ви можете встановити інструменти командного рядка за допомогою Homebrew. Після налаштування Homebrew просто запустіть brew install wget в Терміналі.
  • Користувачі Windows не мають легкого доступу до wget в традиційному командному рядку, хоча Cygwin надає wget та інші утиліти GNU, а оболонка Ubuntu Bash для Windows 10 також поставляється з wget.

Після встановлення wget ви можете відразу почати використовувати його з командного рядка. Давайте завантажимо декілька файлів!

Звантажити один файл

Давайте почнемо з чогось простого. Скопіюйте URL-адресу файлу, який ви хочете завантажити у своєму переглядачі.

Тепер поверніться в термінал і введіть wget а потім вставлений URL. Файл завантажиться, і ви побачите прогрес у реальному часі.

Зауважте, що файл буде завантажено до поточної теки вашого термінала, тому ви захочете перейти до іншої теки, якщо бажаєте, щоб він зберігався в іншому місці. Якщо ви не впевнені, що це означає, ознайомтеся з нашим керівництвом з управління файлами з командного рядка. У статті згадується Linux, але концепції однакові для систем MacOS і Windows, що працюють під управлінням Bash.

Продовжити незавершене завантаження

Якщо з якоїсь причини ви зупинили завантаження до того, як воно могло закінчитися, не турбуйтеся: wget може почати прямо з того місця, де воно зупинилося. Просто використовуйте цю команду:


wget -c file

Ключ тут -c, який є «параметром» мовою командного рядка. Цей параметр повідомляє wget, що ви хочете продовжити існуюче завантаження.

Дзеркало весь сайт

Якщо ви хочете завантажити весь веб-сайт, wget може виконати цю роботу.

wget -m http://example.com

Типово це завантажить всі на сайті example.com, але ви, ймовірно, захочете використовувати ще кілька опцій для зручного дзеркала.

  • --convert-links змінює посилання всередині кожної завантаженої сторінки, щоб вони вказували один на одного, а не на Інтернет.
  • --page-requisites завантажує такі речі, як таблиці стилів, тому сторінки будуть виглядати правильно в автономному режимі.
  • --no-parent зупиняє wget від завантаження батьківських сайтів. Отже, якщо ви бажаєте звантажити http://example.com/subexample, у вас не буде батьківської сторінки.

Об'єднайте ці варіанти до смаку, і ви отримаєте копію будь-якого веб-сайту, який ви можете переглядати на своєму комп'ютері.

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


Звантажити весь каталог

Якщо ви переглядаєте FTP-сервер і знаходите цілу теку, яку хочете завантажити, просто запустіть:

wget -r ftp://example.com/folder

У цьому випадку r вказує, що ви хочете рекурсивне завантаження. Ви також можете увімкнути --noparent, якщо бажаєте уникнути завантаження тек і файлів вище поточного рівня.

Звантажити список файлів одночасно

Якщо ви не можете знайти всю теку потрібних вам завантажень, wget все одно може допомогти. Просто помістіть всі URL завантаження в один файл TXT.

потім вкажіть wget на цей документ за допомогою параметра -i. Як це:


wget -i download.txt

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

Ще кілька хитрощів

Ми могли б піти далі: Wget пропонує безліч варіантів. Але це керівництво призначене для того, щоб дати вам відправну точку. Щоб дізнатися більше про те, що може зробити wget, наберіть в терміналі man wget і прочитайте, що з цього вийде. Ви багато чому навчитеся.

Сказавши це, ось кілька інших варіантів, які я вважаю акуратними:

  • Якщо ви хочете, щоб завантаження виконувалося у фоновому режимі, просто -b опцію -b.
  • Якщо ви хочете, щоб wget продовжувала намагатися завантажити, навіть якщо є помилка 404, використовуйте параметр -t 10. Це буде намагатися завантажити 10 разів; Ви можете використовувати будь-який номер, який вам подобається.
  • Якщо ви бажаєте керувати пропускною здатністю, параметр --limit-rate = 200k обмежить вашу швидкість завантаження до --limit-rate = 200k/с. Змініть номер, щоб змінити ставку.

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


Image