Это руководство покажет вам, как использовать команду wget в Linux. Мы также предоставим 12 полезных примеров команды wget. К концу вы будете знать все о команде wget и сможете использовать ее для загрузки файлов из всемирной паутины.
Что такое команда Wget?
Wget – это компьютерный инструмент, созданный проектом GNU. Вы можете использовать его для получения контента и файлов с различных веб-серверов. Название представляет собой комбинацию слова “всемирная паутина” и слова “получить” . Он поддерживает загрузку через FTP, SFTP, HTTP и HTTPS.
Wget создается на переносимом языке C и может использоваться в любой системе Unix. Также возможно реализовать на Mac OS X, Microsoft Windows, AmigaOS и других популярных платформах.
Как установить Wget?
Для этой демонстрации команды wget мы будем использовать Ubuntu 16.04. Но синтаксис будет работать и в любом другом дистрибутиве Linux.
Во-первых, получите доступ к вашему серверу через SSH:
ssh user@your_server_ip -port
Чтобы установить wget на Ubuntu 18.04 или аналогичный, выполните следующую команду:
sudo apt-get install wget
Чтобы установить wget на CentOS 7 или его предыдущие дистрибутивы, используйте:
sudo yum install wget
После завершения настройки вы будете готовы к использованию. Кроме того, знание основных команд SSH может упростить задачу.
Примеры команд Wget
Для начала мы предоставим 12 примеров команд wget, которые вы можете использовать для повседневных задач. Имейте в виду, что вы также можете вызывать эту функцию из скриптов и заданий cron!
Использование команды Wget для загрузки отдельных файлов
Один из самых простых примеров команды wget – это загрузка одного файла и сохранение его в текущем рабочем каталоге. Например, вы можете получить последнюю версию WordPress, используя следующее:
wget https://wordpress.org/latest.zip
Вот результат, который вы увидите:
--2018-02-23 12:53:10-- https://wordpress.org/latest.zip
Resolving wordpress.org (wordpress.org)... 198.143.164.252
Connecting to wordpress.org (wordpress.org)|198.143.164.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9332728 (8,9M) [application/zip]
Saving to: 'latest.zip'
latest.zip 100%[===================>] 8,90M 6,88MB/s in 1,3s
2018-02-23 12:53:14 (6,88 MB/s) - 'latest.zip' saved [9332728/9332728]
В этом примере файл с именем latest.zip будет загружен в текущий рабочий каталог. Вы также увидите дополнительную информацию, такую как ход загрузки, скорость, размер, время и дату.
Использование команды Wget для загрузки нескольких файлов
Мы можем сделать еще один шаг в использовании wget и загрузить сразу несколько файлов. Для этого нам нужно будет создать текстовый документ и поместить туда URL-адреса для загрузки. В этом примере мы получим последние версии WordPress, Joomla и Drupal с помощью wget. Введите следующее:
nano example.txt
Это создаст файл example.txt и откроет интерфейс текстового редактора. Вставьте эти ссылки туда:
https://wordpress.org/latest.zip
https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip
https://ftp.drupal.org/files/projects/drupal-8.4.5.zip
После этого вы можете использовать -i, чтобы получить все файлы, хранящиеся в вашем примере текстового файла:
wget -i example.txt
Подождите, пока процесс завершится, и вы получите установку трех самых популярных систем управления контентом.
Использование команды Wget для получения файлов под разными именами
В этом примере wget мы сохраним файл под другим именем с помощью опции -O :
wget -O wordpress-install.zip https://wordpress.org/latest.zip
В этом случае загруженный ресурс будет сохранен как wordpress-install.zip вместо исходного имени.
Использование команды Wget для сохранения файлов в указанном каталоге
Вы можете использовать wget для помещения файла в другой каталог с помощью функции -P :
wget -P documents/archives/ https://wordpress.org/latest.zip
Файл, полученный с использованием этого синтаксиса, появится в папке documents / archives / .
Использование команды Wget для ограничения скорости загрузки
С помощью wget вы также можете ограничить скорость загрузки. Это полезно при извлечении огромных файлов и предотвратит использование всей вашей пропускной способности. В этом примере wget будет установлено ограничение на 500 КБ:
wget --limit-rate=500k https://wordpress.org/latest.zip
Использование команды Wget для установки повторных попыток
Проблемы с подключением к Интернету могут привести к прерыванию загрузки. Чтобы решить эту проблему, мы можем увеличить количество повторных попыток с помощью функции -tries :
wget -tries=100 https://wordpress.org/latest.zip
Использование команды Wget для загрузки в фоновом режиме
Для очень больших файлов вы можете воспользоваться функцией -b . Он загрузит ваш контент в фоновом режиме.
wget -b http://example.com/beefy-file.tar.gz
В вашем рабочем каталоге появится журнал wget , который можно использовать для проверки прогресса и статуса загрузки. Эта команда также поможет:
tail -f wget-log
Использование команды Wget для загрузки через FTP
Команда также может использоваться с FTP. Вам нужно только указать имя пользователя и пароль, как в этом примере wget:
wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar
Использование команды Wget для продолжения прерванных загрузок
Ваша загрузка может быть прервана, если вы потеряете подключение к Интернету или столкнетесь с отключением электроэнергии. Это довольно частое явление при получении больших файлов. Вместо того, чтобы начинать заново, можно продолжить загрузку с помощью функции -c :
wget -c https://example/very-big-file.zip
Если вы продолжите без функции -c , в конце нового файла будет добавлено .1, поскольку он уже существует.
Использование команды Wget для получения целых веб-сайтов
Также можно использовать команду wget для загрузки содержимого всего сайта. Это позволит вам просматривать его локально без подключения к Интернету. Вот пример:
wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://some-website.com
Давайте проанализируем состав этой команды wget:
-зеркало | Это делает вашу загрузку рекурсивной. |
–Convert-links | Все ссылки будут преобразованы для правильного использования в автономном режиме. |
–Page-Requisites | Следующее будет включать все необходимые файлы, такие как CSS, JS и изображения. |
–Нет родителя | Это гарантирует, что каталоги выше иерархии не будут извлечены. |
-P документы / веб-сайты / | Это гарантирует, что весь контент попадет в наш указанный каталог. |
После завершения процесса вы сможете открыть загруженный веб-сайт локально и найти все файлы в папке « документы / веб-сайты / ».
Использование команды Wget для поиска неработающих ссылок
Попробуем что-нибудь посложнее. Мы можем использовать команду wget, чтобы найти все неработающие URL-адреса, отображающие ошибку 404 на определенном веб-сайте. Начните с выполнения следующего:
wget -o wget-log -r -l 5 --spider http://example.com
-о | Собирает вывод в файл для дальнейшего использования. |
-l | Задает уровень рекурсии. |
-р | Делает загрузку рекурсивной. |
–Паук | Устанавливает wget в режим паука. |
Теперь мы можем исследовать файл wget-log, чтобы найти список неработающих ссылок. Вот как это сделать:
grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u
Использование команды Wget для загрузки нумерованных файлов
Если у вас есть файлы или изображения, пронумерованные в определенном списке, вы можете легко загрузить их все со следующим синтаксисом:
wget http://example.com/images/{1..50}.jpg
Время на прочтение
4 мин
Количество просмотров 192K
Все мы иногда качаем файлы из интернета. Если для этого использовать программы с графическим интерфейсом, то всё оказывается предельно просто. Однако, при работе в командной строке Linux дело несколько усложняется. Особенно — для тех, кто не знаком с подходящими инструментами. Один из таких инструментов — чрезвычайно мощная утилита wget, которая подходит для выполнения всех видов загрузок. Предлагаем вашему вниманию двенадцать примеров, разобрав которые, можно освоить основные возможности wget.
1. Загрузка одного файла
Если всё, что нужно — это загрузка одного файла, нам подойдёт следующая конструкция:
$ wget https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
После ввода такой команды начнётся скачивание Nagios Core. В ходе этого процесса можно будет видеть данные о загрузке, например — сведения о том, какой объём данных уже загружен, текущую скорость, и то, сколько времени осталось до конца загрузки.
2. Загрузка файла и сохранение его с новым именем
Если мы хотим сохранить загруженный файл под именем, отличающимся от его исходного имени, нам пригодится команда wget
с параметром -O
:
$ wget -O nagios_latest https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
При таком подходе загруженный файл будет сохранён под именем nagios_latest
.
3. Ограничение скорости загрузки файлов
При необходимости скорость загрузки файлов с помощью wget
можно ограничить. В результате эта операция не будет занимать весь доступный канал передачи данных и не повлияет на другие процессы, связанные с сетью. Сделать это можно, используя параметр --limit-rate
и указав ограничение скорости, выраженное в байтах (в виде обычного числа), килобайтах (добавив после числа K
) или мегабайтах (M
) в секунду:
$ wget ––limit-rate=500K https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Здесь задано ограничение скорости загрузки, равное 500 Кб/с.
4. Завершение прерванной загрузки
Если в ходе загрузки файлов эта операция была прервана, можно возобновить загрузку с помощью параметра -c
команды wget
:
$ wget –c https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Если этот параметр не использовать, то загрузка недокачанного файла начнётся сначала.
5. Фоновая загрузка файла
Если вы загружаете файл огромного размера и хотите выполнять эту операцию в фоне, сделать это можно, используя параметр -b
:
$ wget –b https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
6. Загрузка нескольких файлов
Если имеется список URL файлов, которые надо загрузить, но вам не хочется вручную запускать загрузки этих файлов, можно использовать параметр -I
. Однако, перед тем, как начинать загрузку, нужно создать файл, содержащий все адреса. Например, сделать это можно такой командой:
$ vi url.txt
В этот файл нужно поместить адреса — по одному в каждой строке. Далее, осталось лишь запустить wget
, передав этой утилите только что созданный файл со списком загрузок:
$ wget –I url.txt
Выполнение этой команды приведёт к поочерёдной загрузке всех файлов из списка.
7. Увеличение общего числа попыток загрузки файла
Для того, чтобы настроить число повторных попыток загрузки файла, можно использовать параметр --tries
:
wget ––tries=100 https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
8. Загрузка файлов с FTP-сервера
Команда загрузки файла с анонимного FTP-сервера с помощью wget
выглядит так:
$ wget FTP-URL
Если для доступа к файлу требуются имя пользователя и пароль, то команда примет такой вид:
$ wget –-ftp-user=dan ––ftp-password=********* FTP-URL
9. Создание локальной копии веб-сайта
Если нужно загрузить содержимое целого веб-сайта, сделать это можно, воспользовавшись параметром --mirror
:
$ wget --mirror -p --convert-links -P /home/dan xyz.com
Обратите внимание на дополнительные параметры командной строки:
-p
: производится загрузка всех файлов, необходимых для корректного отображения HTML-страниц.--convert-links
: ссылки в документах будут преобразованы для целей локального просмотра сайта.-P /home/dan
: материалы будут сохранены в папку/home/dan
.
10. Загрузка с сайта только файлов определённого типа
Для того, чтобы загрузить с сайта только файлы определённого типа, можно воспользоваться параметрами -r -A
:
$ wget -r -A.txt Website_url
11. Пропуск файлов определённого типа
Если вы хотите скопировать целый веб-сайт, но при этом вам не нужны файлы определённого типа, отключить их загрузку можно с помощью параметра --reject
:
$ wget --reject=png Website_url
12. Загрузка с использованием собственного .log-файла
Для того, чтобы загрузить файл и использовать при этом собственный .log
-файл, воспользуйтесь параметром -o
и укажите имя файла журнала:
$ wget -o wgetfile.log https://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.3.1/nagios-4.3.1.tar.gz?r=&ts=1489637334&use_mirror=excellmedia
Итоги
Wget — довольно простая в использовании, но весьма полезная утилита Linux. И, на самом деле то, о чём мы рассказали — лишь малая часть того, что она умеет. Надеемся, этот обзор поможет тем, кто не был знаком с wget, оценить эту программу, и, возможно, включить её в свой повседневный арсенал инструментов командной строки.
Уважаемые читатели! Пользуетесь ли вы инструментами командной строки Linux для загрузки файлов? Если да — просим о них рассказать.
Wget — это бесплатная утилита командной строки GNU, используемая для загрузки файлов из Интернета. Она извлекает файлы с использованием протоколов HTTP, HTTPS и FTP.
Если во время загрузки возникает проблема с сетью, это полезное программное обеспечение может возобновить получение файлов, не начиная с нуля.
Другим важным аспектом является возможность рекурсивной загрузки, с помощью которой она может копировать веб-сайты переходя по ссылкам и структуре каталогов и создавая локальные версии веб-страниц.
Команда wget очень гибкая и может использоваться в терминалах, скриптах и cron-задачах. Во время загрузки пользователю не обязательно быть активным или авторизованным. Поскольку wget может работать независимо в фоновом режиме.
Скорее всего, пакет wget уже есть в вашей системе, так как сейчас он предустановлен в большинстве дистрибутивов Linux.
Чтобы проверить, откройте окно терминала и введите:
wget
Если у вас установлен wget, вы увидите сообщение, что команде wget не хватает URL-адреса, как показано на изображении ниже:
Если в выводе отображается команда wget command not found
, вам необходимо загрузить и установить инструмент вручную. Ниже вы найдете инструкции по установке для Ubuntu / Debian, CentOS и Windows.
Как установить wget на Ubuntu / Debian?
Чтобы установить wget в системах Ubuntu или Debian, используйте команду:
sudo apt-get install wget
Как установить wget на CentOS / Fedora?
Чтобы установить wget на CentOS или Fedora, введите следующую команду:
sudo yum install wget
Синтаксис wget
Синтаксис wget имеет следующий шаблон:
wget [option][URL]
Каждая [option] имеет свою длинную и короткую форму, которые удобно заменять. Этот атрибут указывает, что делать со следующим URL-адресом.
[URL] — это адрес файла или каталога, который вы хотите загрузить.
Список основных команд wget
- -V (—version) — выводит версию программы
- -h (—help) — выводит справку
- -b (—background) — работать в фоновом режиме
- -o {file} (—out-file) — указывает лог файл
- -d (—debug) — включает режим отладки
- -v (—verbose) — выводит максимум информации о работе утилиты
- -q (—quiet) — выводит минимум информации о работе
- -i {file} (—input-file) — читает URL из файла
- —force-html — читает файл указанный в предыдущем параметре как html
- -t (—tries) — количество попыток подключения к серверу
- -O {file} (—output-document) — файл в который будут сохранены полученные данные
- -с (—continue) — продолжает ранее прерванную загрузку
- -S (—server-response) — выводит ответ сервера
- —spider — проверяет работоспособность URL
- -T {time} (—timeout) — таймаут подключения к серверу
- —limit-rate — ограничивает скорость загрузки
- -w (—wait) — интервал между запросами
- -Q (—quota) — максимальный размер загрузки
- -4 (—inet4only) — использовать протокол ipv4
- -6 (—inet6only) — использовать протокол ipv6
- -U (—user-agent) — строка USER AGENT отправляемая серверу
- -r (—recursive) — рекурсивная работа утилиты
- -l (—level) — глубина при рекурсивном сканировании
- -k (—convert-links) — конвертирует ссылки в локальные при загрузке страниц
- -P (—directory-prefix) — каталог, в который будут загружаться файлы
- -m (—mirror) — скачивает сайт на локальную машину
- -p (—page-requisites) — во время загрузки сайта скачивает все необходимые ресурсы
Примеры команд wget
Как скачать файл из Интернета
Чтобы загрузить файл из Интернета, используйте пример:
wget http://apache.cs.utah.edu/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz
Как скачать файл и сохранить с другим названием
Параметр -O
устанавливает имя выходного файла. Если файл называется terraform_0.12.2_linux_amd64.zip
, и вы хотите сохранить его непосредственно в terraform.zip
, вы должны использовать такую команду:
wget –O terraform.zip https://releases.hashicorp.com/terraform/0.12.2/terraform_0.12.2_linux_amd64.zip
Как сохранить файл в конкретный каталог
По умолчанию wget загружает файл в каталог, в котором находится пользователь. Чтобы сохранить файл в другом месте, добавьте параметр –P
:
wget –P /temp https://github.com/git/git/archive/master.zip
Как установить скорость загрузки
Вы можете установить скорость загрузки при скачивании большого файла, чтобы он не использовал всю доступную пропускную способность. Скорость загрузки определяется в килобайтах (k) и мегабайтах (m). Используйте команду:
wget --limit-rate 1m http://us.download.nvidia.com/tesla/396.37/nvidia-diag-driver-local-repo-ubuntu1710-396.37_1.0-1_amd64.deb
Как продолжить загрузку после прерывания
Вместо того, чтобы начинать с нуля, wget может возобновить загрузку с того места, где она была остановлена до прерывания. Это полезная функция, если при загрузке файла происходит потеря соединения.
wget –c https://github.com/mumble-voip/mumble/releases/download/1.2.19/murmur-static_x86-1.2.19.tar.bz2
Как скачать несколько файлов
- Сначала создайте и откройте файл с именем MultipleDownloads.txt (или другим именем по вашему выбору) с помощью текстового редактора.:
- В редакторе добавьте URL-адреса, которые вы хотите загрузить, по одному в каждой строке.
- Сохраните и выйдите из файла.
- Выполните следующую команду wget в окне терминала:
wget –i MultipleDownloads.txt
Как загрузить зеркало веб-страницы
С помощью wget вы можете загрузить весь веб-сайт из Интернета, используя параметр –m
. Он предлагает wget создать зеркало указанной веб-страницы. Основная команда для этого:
wget –m https://phoenixnap.com
Как скачать через FTP
Чтобы загрузить через FTP, введите имя пользователя и пароль FTP-сервера, а затем ftp-адрес:
wget --ftp-user=sofiftp --ftp-password=TopSecretPassword ftp://123.456.7890
Как скачать в фоновом режиме
Вы можете использовать функцию загрузки в фоновом режиме при работе с большими файлами:
wget –b http://some_website/sample_file.rpm
Как увеличить число попыток повтора
По умолчанию количество повторных попыток установлено на 20.
Вы также можете установить число на бесконечность со значениями 0 или inf, как в следующем примере:
wget --tries=inf http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
Как пропустить проверку сертификата
По умолчанию wget проверяет, есть ли у сервера действительный сертификат SSL / TLS. Если он не идентифицирует подлинный сертификат, он отказывается от загрузки.
Параметр --no-check-certificate
используется, чтобы отменить проверку сертификата. Однако используйте его только в том случае, если вы уверены в надежности веб-сайта или не беспокоитесь о проблемах безопасности, которые он может вызвать.
wget --no-check-certificate http://enteratonerisk.com
Как изменить User Agent
При загрузке веб-страницы wget по сути эмулирует браузер. В некоторых случаях в выводе может быть указано, что у вас нет разрешения на доступ к серверу или что соединение запрещено. Это может быть связано с тем, что веб-сайт блокирует клиентские браузеры с определенным «User-Agent».
«User-Agent» — это поле заголовка, которое браузер отправляет на сервер, к которому он хочет получить доступ. Поэтому для загрузки с сервера, который отказывается подключаться, попробуйте его изменить.
Найдите базу данных всех пользовательских агентов в сети, найдите тот, который вам нужен, и выполните команду:
wget --user-agent=” Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36” “https://phoenixnap.com”
Работая в консоли, нам достаточно часто приходится взаимодействовать с сетью, например скачивать файлы или целые интернет страницы. Если интернет страницы мы скачиваем довольно редко, то с файлами дело обстоит совсем по другому. Это могут быть различные скрипты, установочные пакеты, программы, ключи, списки пакетов и многое другое. Скачать файл в консоли Linux можно с помощью утилиты wget. Ее мы и рассмотрим в этой статье.
Это очень мощная утилита, способная работать по протоколам HTTP, HTTPS и FTP. Кроме того поддерживается работа через прокси. Команда wget linux, может выполнять загрузку файлов даже в фоновом режиме – без участия пользователя, в отличии от большинства веб браузеров.
Кроме скачивания файлов, есть возможность сохранять веб страницы или даже целые веб-сайты, благодаря функции открытия ссылок на страницах. Такую возможность еще называют рекурсивной загрузкой. Это все мы и рассмотрим в сегодняшней статье, но начнем, как всегда, с синтаксиса и основных опций утилиты.
Команда wget linux имеет очень простой синтаксис:
$ wget опции аддресс_ссылки
Можно указать не один URL для загрузки, а сразу несколько. Опции указывать не обязательно, но в большинстве случаев они используются для настройки параметров загрузки.
Опции
Синтаксис опций очень свободный. У каждой опции, как правило есть как длинное, так и короткое имя. Их можно записывать как до URL, так и после. Между опцией и ее значением не обязательно ставить пробел, например вы можете написать -o log или -olog. Эти значения эквивалентны. Также если у опций нет параметров, не обязательно начинать каждую с дефиса, можно записать их все вместе: -drc и -d -r -c. Эти параметры wget тоже эквивалентны.
А теперь давайте перейдем к списку опций. У wget слишком много опций, мы разберем только основные.
- -V (–version) – вывести версию программы
- -h (–help) – вывести справку
- -b (–background) – работать в фоновом режиме
- -o файл (–out-file) – указать лог файл
- -d (–debug) – включить режим отладки
- -v (–verbose) – выводить максимум информации о работе утилиты
- -q (–quiet) – выводить минимум информации о работе
- -i файл (–input-file) – прочитать URL из файла
- –force-html – читать файл указанный в предыдущем параметре как html
- -t (–tries) – количество попыток подключения к серверу
- -O файл (–output-document) – файл в который будут сохранены полученные данные
- -с (–continue) – продолжить ранее прерванную загрузку
- -S (–server-response) – вывести ответ сервера
- –spider – проверить работоспособность URL
- -T время (–timeout) – таймаут подключения к серверу
- –limit-rate – ограничить скорость загрузки
- -w (–wait) – интервал между запросами
- -Q (–quota) – максимальный размер загрузки
- -4 (–inet4only) – использовать протокол ipv4
- -6 (–inet6only) – использовать протокол ipv6
- -U (–user-agent)– строка USER AGENT отправляемая серверу
- -r (–recursive)- рекурсивная работа утилиты
- -l (–level) – глубина при рекурсивном сканировании
- -k (–convert-links) – конвертировать ссылки в локальные при загрузке страниц
- -P (–directory-prefix) – каталог, в который будут загружаться файлы
- -m (–mirror) – скачать сайт на локальную машину
- -p (–page-requisites) – во время загрузки сайта скачивать все необходимые ресурсы
Кончено это не все ключи wget, но здесь и так слишком много теории, теперь давайте перейдем к практике. Примеры wget намного интереснее.
Использование wget Linux
Команда wget linux, обычно поставляется по умолчанию в большинстве дистрибутивов, но если нет, ее можно очень просто установить. Например установка с помощью yum будет выглядеть следующим образом:
yum -y install wget
А в дистрибутивах основанных на Debian:
sudo apt install wget
Теперь перейдем непосредственно к примерам:
1. Загрузка файла
Команда wget linux скачает один файл и сохранит его в текущей директории. Во время загрузки мы увидим прогресс, размер файла, дату его последнего изменения, а также скорость загрузки:
wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
2. Сохранить файл с другим именем
Опция -О позволяет задать имя сохраняемому файлу, например, скачать файл wget с именем wget.zip:
wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
3. Скачать несколько файлов
Вы можете скачать несколько файлов одной командой даже по разным протоколам, просто указав их URL:
wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig
4. Взять URL из файла
Вы можете сохранить несколько URL в файл, а затем загрузить их все, передав файл опции -i. Например создадим файл tmp.txt, со ссылками для загрузки wget, а затем скачаем его:
wget -i /wget/tmp.txt
5. Продолжить загрузку
Утилита wget linux рассчитана на работу в медленных и нестабильных сетях. Поэтому если вы загружали большой файл, и во время загрузки было потеряно соединение, то вы можете скачать файл wget с помощью опции -c.
wget -c http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
6. Загрузка файлов в фоне
Опция -b заставляет программу работать в фоновом режиме, весь вывод будет записан в лог файл, для настройки лог файла используются специальные ключи wget:
wget -b -o ~/wget.log http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
7. Ограничение скорости загрузки
Команда wget linux позволяет не только продолжать загрузку файлов, но и ограничивать скорость загрузки. Для этого есть опция –limit-rate. Например ограничим скорость до 100 килобит:
wget --limit-rate=100k ftp://ftp.iinet.net.au/debian/debian-cd/8.4.0/amd64/iso-dvd/debian-8.4.0-amd64-DVD-1.iso
Здесь доступны, как и в других подобных командах индексы для указания скорости – k – килобит, m – мегабит, g – гигабит, и так далее.
8. Подключение по логину и паролю
Некоторые ресурсы требуют аутентификации, для загрузки их файлов. С помощью опций –http-user=username, –http-password=password и –ftp-user=username, –ftp-password=password вы можете задать имя пользователя и пароль для HTTP или FTP ресурсов.
wget --http-user=narad --http-password=password http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso
Или:
wget --ftp-user=narad --ftp-password=password ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso
9. Загрузить и выполнить
Вы, наверное, уже видели такие команды. wget позволяет сразу же выполнять скачанные скрипты:
wget -O - http://сайт/скрипт.sh | bash
Если опции -O не передать аргументов, то скачанный файл будет выведен в стандартный вывод, затем мы его можем перенаправить с интерпретатор bash, как показано выше.
10. Сохранить файл в папке
По умолчанию wget сохраняет файл в текущую папку, но это поведение очень легко изменить с помощью опции -P:
wget -P ~/Downloads/ http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
11. Передать информацию о браузере
Некоторые сайты фильтруют ботов, но мы можем передать фальшивую информацию о нашем браузере (user-agent) и страницу с которой мы пришли (http-referer).
wget ‐‐refer=http://google.com ‐‐user-agent=”Mozilla/5.0 Firefox/4.0.1″ //losst.pro
12. Количество попыток загрузки
По умолчанию wget пытается повторить загрузку 20 раз, перед тем как завершить работу с ошибкой. Количество раз можно изменить с помощью опции –tries:
wget --tries=75 http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
13. Квота загрузки
Если вам доступно только ограниченное количество трафика, вы можете указать утилите, какое количество информации можно скачивать, например разрешим скачать файлов из списка только на десять мегабайт:
wget -Q10m -i download-list.txt
Здесь работают те же индексы для указания размера – k, m, g, и т д.
14. Скачать сайт
Wget позволяет не только скачивать одиночные файлы, но и целые сайты, чтобы вы могли их потом просматривать в офлайне. Использование wget, чтобы скачать сайт в linux выглядит вот так:
wget --mirror -p --convert-links -P ./<Local-Folder> аддресс_сайт
Выводы
Вот и все, теперь использование wget не будет для вас таким непонятным. Если я упустил что-то важное о команде или у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Wget – это утилита командной строки GNU для загрузки файлов из Интернета с использованием протоколов HTTP, HTTPS, FTP, SFTP. Wget работает и через прокси, и даже в фоновом режиме. Часто используется для скачивания как отдельных файлов, так и целых сайтов.
Установка Wget
Для начала проверим, установлен ли в системе Wget. Введём в терминале:
wget
Если wget установлен, то мы увидим примерно такое сообщение:
wget: отсутствует URL
Использование: wget [ПАРАМЕТР]... [URL]...
Дополнительные параметры выводятся по команде «wget --help».
Если же wget не установлен, вывод будет таким:
wget command not found
В таком случае необходимо установить нужное ПО:
sudo yum install -y wget // CentOS7/RHEL 7/Fedora
sudo dnf install -y wget // CentOS8/RHEL8/Rocky Linux8
sudo apt install -y wget // Ubuntu/Debian
sudo pacman -S wget // Arch Linux
sudo zypper install wget // OpenSUSE
Как установить Wget в Windows?
Синтаксис и опции Wget
Команда wget имеет следующий синтаксис:
wget [option] [URL]
Опции являются необязательными, но в большинстве случаев они используются для более тонкой настройки параметров загрузки.
Синтаксис опций очень свободный. У каждой опции, как правило есть как длинное, так и короткое имя. Их можно записывать как до URL, так и после. Между опцией и ее значением не обязательно ставить пробел, например вы можете написать -o log
или -olog
. Эти значения эквивалентны. Также если у опций нет параметров, не обязательно начинать каждую с дефиса, можно записать их все вместе: -drc
и -d -r -c
. Эти параметры wget тоже эквивалентны.
Основные (список не полный) опции Wget:
Скачать файл
Wget скачает один файл и сохранит его в текущей директории. Во время загрузки мы увидим прогресс, размер файла, дату его последнего изменения, а также скорость загрузки:
wget http://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz
Сохранить файл в специальный каталог
Можно скачать файл и поместить его в другом каталоге, используя опцию -P
:
wget -P ~/Download wget.tar.gz http://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz
Сохранить файл с другим именем
Опция -О
позволяет задать имя сохраняемому файлу, например, скачать файл wget2-latest.tar.gz
с именем wget.tar.gz
:
wget -O wget.tar.gz http://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz
Скачать несколько файлов
Можно скачать несколько файлов одной командой даже по разным протоколам, просто указав их URL:
wget http://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz ftp://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz.sig
В данном примере мы скачали два файла по протоколам HTTP и FTP.
Взять URL из файла (загрузка из файла)
Можно сохранить несколько URL в файл, а затем загрузить их все, передав файл опции -i
. Например создадим файл links.txt
, со ссылками для загрузки:
wget -i ~/Wget/links.txt
Продолжить загрузку
Если загружался большой файл, и во время загрузки было потеряно соединение, то можно скачать файл с помощью опции -c
:
wget -c http://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz
Загрузка файлов в фоне
Для файлов особо большого размера может оказаться полезной опция -b
. Она установит скачивание в фоновом режиме.
wget -b http://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz
В каталоге, из которого запускался wget появится wget-log
файл, который может быть использован для проверки прогресса и статуса вашего скачивания.
Эта команда тоже будет полезной
# директория, в которой запускается wget
tail -f wget-log
Ограничение скорости загрузки
Wget позволяет не только продолжать загрузку файлов, но и ограничивать скорость загрузки. Для этого есть опция --limit-rate
.
Это полезно, когда необходимо скачать большой файл. Мы предотвращаем полное использования канала. Например, ограничим скорость загрузки до 500 килобит + установим флаг для фонового скачивания:
wget --limit-rate=500k -b https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.6.0-amd64-netinst.iso
Количество повторных попыток
Проблемы подключения к интернету могут привести к прерыванию загрузки. Чтобы этого избежать можно повысить количество повторных попыток с опцией -tries
:
wget -tries http://ftp.gnu.org/gnu/wget/wget2-latest.tar.gz
Подключение по логину и паролю
Некоторые ресурсы требуют аутентификации, для загрузки их файлов. С помощью опций --http-user=username
, --http-password=password
и --ftp-user=username
, --ftp-password=password
можно задать имя пользователя и пароль для HTTP или FTP ресурсов.
wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar
Квота загрузки
Если доступно только ограниченное количество трафика, можно указать какое количество информации можно скачивать, например разрешим скачать файлов из списка только на десять мегабайт:
wget -Q 10m -i ~/Wget/links.txt
Загрузить и выполнить
Можно сразу же выполнять скачанные скрипты:
wget -O - https://site.com/script.sh | bash
Если опции -O
не передать аргументов, то скачанный файл будет выведен в стандартный вывод, затем мы его можем перенаправить с интерпретатор bash
, как показано выше.
Поиск битых ссылок
wget -o wget-log -r -l 5 --spider https://site.com
Теперь мы можем изучить файл wget-log
для поиска списка битых ссылок. Вот команда для этого:
grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u
Скачать пронумерованный файлы
Если есть список файлов или изображений пронумерованные в определённом порядке, можно легко скачать их все, используя следующий синтаксис:
wget https://site.com/images/{1..50}.jpg
Скачать сайт
Wget позволяет скачивать не только одиночные файлы, но и целые сайты, чтобы вы могли их потом просматривать в офлайне. Скачивается html версия сайта со всеми стилями и картинками:
# Самый простой способ (одностраничный сайт)
wget --mirror https://site.com
# более объёмный сайт с уровнем рекурсии в 10
wget -mrkcb -l 10 -P ~/Download https://site.com
Ещё по теме