GNU Wget — это утилита командной строки для загрузки файлов из Интернета. С помощью Wget вы можете загружать файлы по протоколам HTTP, HTTPS и FTP. Wget предоставляет ряд опций, позволяющих загружать несколько файлов, возобновлять загрузку, ограничивать пропускную способность, рекурсивную загрузку, загружать в фоновом режиме, зеркалировать веб-сайт и многое другое.
В этой статье показано, как использовать wget команду, на практических примерах и подробных объяснениях распространенных параметров.
Установка Wget
В настоящее время пакет wget предустановлен в большинстве дистрибутивов Linux.
Чтобы проверить, установлен ли пакет Wget в вашей системе, откройте консоль, введите wget
и нажмите Enter. Если у вас установлен wget, система напечатает файлы wget: missing URL
. В противном случае будет напечатано wget command not found
.
Если wget
он не установлен, вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.
sudo apt install wget
Синтаксис команды wget
Прежде чем перейти к использованию wget
команды, давайте начнем с рассмотрения основного синтаксиса.
Выражения wget
полезности имеют следующий вид:
wget [options] [url]
options
- Параметры Wgeturl
- URL-адрес файла или каталога, который вы хотите загрузить или синхронизировать.
Как скачать файл сwget
В простейшей форме, при использовании без каких-либо опций, wget
загрузит ресурс, указанный в [url], в текущий каталог.
В следующем примере мы загружаем tar-архив ядра Linux:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
Как вы можете видеть на изображении выше, wget
начинается с разрешения IP-адреса домена, затем подключается к удаленному серверу и начинает передачу.
Во время загрузки wget
отображается индикатор выполнения вместе с именем файла, размером файла, скоростью загрузки и предполагаемым временем завершения загрузки. После завершения загрузки вы можете найти загруженный файл в текущем рабочем каталоге. Чтобы отключить вывод, используйте -q
опцию. Если файл уже существует, в конце имени файла wget
будет добавлено (число)..N
Сохранение загруженного файла под другим именем
Чтобы сохранить загруженный файл под другим именем, передайте -O
параметр, за которым следует выбранное имя:
wget -O lates.zip https://unetway.com/example.zip
Загрузка файла в определенный каталог
По умолчанию wget
загруженный файл будет сохранен в текущем рабочем каталоге. Чтобы сохранить файл в определенном месте, используйте -P
опцию:
wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
Приведенная выше команда говорит wget
сохранить iso-файл CentOS 7 в /mnt/iso
каталог.
Ограничение скорости загрузки
Чтобы ограничить скорость загрузки, используйте --limit-rate
опцию. По умолчанию скорость измеряется в байтах в секунду. Добавлять k
килобайты, m
мегабайты и g
гигабайты.
Следующая команда загрузит бинарный файл Go и ограничит скорость загрузки до 1 МБ:
wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Эта опция полезна, когда вы не хотите wget
использовать всю доступную полосу пропускания.
Возобновление загрузки
Вы можете возобновить загрузку с помощью -c
опции. Это полезно, если ваше соединение обрывается во время загрузки большого файла, и вместо того, чтобы начать загрузку с нуля, вы можете продолжить предыдущую.
В следующем примере мы возобновляем загрузку iso-файла Ubuntu 18.04:
wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
Если удаленный сервер не поддерживает возобновление загрузки, загрузка wget
начнется с самого начала и перезапишет существующий файл.
Загрузка в фоновом режиме
Для загрузки в фоновом режиме используйте -b
опцию. В следующем примере мы загружаем iso-файл OpenSuse в фоновом режиме:
wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
По умолчанию вывод перенаправляется в wget-log
файл в текущем каталоге. Чтобы посмотреть статус загрузки, используйте tail
команду:
tail -f wget-log
Изменение пользовательского агента Wget
Иногда при загрузке файла удаленный сервер может быть настроен на блокировку пользовательского агента Wget. В таких ситуациях, чтобы эмулировать другой браузер, передайте -U
опцию.
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/
Копировать
Приведенная выше команда будет эмулировать Firefox 60, запрашивая страницу изwget-forbidden.com
Загрузка нескольких файлов
Если вы хотите загрузить несколько файлов одновременно, используйте -i
параметр, за которым следует путь к локальному или внешнему файлу, содержащему список URL-адресов для загрузки. Каждый URL-адрес должен быть на отдельной строке.
В следующем примере показано, как загрузить iso-файлы Arch Linux, Debian и Fedora, используя URL-адреса, указанные в linux-distros.txt
файле:
wget -i linux-distros.txt
http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso
Если вы укажете -
в качестве имени файла, URL-адреса будут считаны из стандартного ввода.
Загрузка через FTP
Чтобы загрузить файл с FTP-сервера, защищенного паролем, укажите имя пользователя и пароль, как показано ниже:
wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz
Создание зеркала веб-сайта
Чтобы создать зеркало веб-сайта с wget
, используйте -m
опцию. Это создаст полную локальную копию веб-сайта, перейдя и загрузив все внутренние ссылки, а также ресурсы веб-сайта (JavaScript, CSS, изображения).
wget -m https://example.com
Если вы хотите использовать загруженный веб-сайт для локального просмотра, вам нужно будет передать несколько дополнительных аргументов команде выше.
wget -m -k -p https://example.com
Опция -k
заставит wget
преобразовать ссылки в загруженных документах, чтобы сделать их пригодными для локального просмотра. Опция -p
предложит wget
загрузить все необходимые файлы для отображения HTML-страницы.
Пропуск проверки сертификата
Если вы хотите загрузить файл по HTTPS с хоста с недействительным SSL-сертификатом, используйте --no-check-certificate
опцию:
wget --no-check-certificate https://domain-with-invalid-ss.com
Загрузка в стандартный вывод
В следующем примере wget
будет тихо (флаг -q
) загружать и выводить последнюю версию WordPress на стандартный вывод (флаг -O -
) и передавать ее tar
утилите, которая извлечет архив в /var/www
каталог.
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www
0 комментариев