Как установить и использовать команду Wget, несколько примеров в Linux

12 set 2022 4 min di lettura
Как установить и использовать команду Wget, несколько примеров в Linux
Indice dei contenuti

Введение

GNU Wget — это утилита командной строки для загрузки файлов из Интернета. С помощью Wget вы можете загружать файлы, используя протоколы HTTP, HTTPS и FTP. Wget предлагает ряд опций, которые позволяют вам загружать несколько файлов, возобновлять загрузку, ограничивать пропускную способность, рекурсивные загрузки, фоновые загрузки, зеркалировать веб-сайт и многое другое.

В этом руководстве мы покажем вам, как использовать команду Wget, на практических примерах и подробных объяснениях наиболее распространенных параметров Wget.

Установить Wget

В настоящее время пакет wget предустановлен в большинстве дистрибутивов Linux.

Чтобы проверить, установлен ли пакет Wget в вашей системе, откройте консоль, введите wget и нажмите Enter. Если у вас установлен wget, система напечатает wget: missing URL, иначе напечатает wget command not found.

Если wget не установлен, вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.

Установка Wget на Ubuntu и Debian

sudo apt update
sudo apt install wget

Установка Wget на CentOS и Fedora

sudo yum install wget

Синтаксис команды wget

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

Выражения команды wget имеют следующий вид:

wget [options] [url]
  • optionsпараметры Wget.
  • url -адрес — 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 отображает индикатор выполнения вместе с именем файла, размером файла, скоростью загрузки и предполагаемым временем завершения загрузки. После завершения загрузки вы можете найти загруженный файл в текущем рабочем каталоге.

Чтобы отключить вывод Wget, используйте параметр -q.

Если файл уже существует, Wget добавит .N (число) в конец имени файла.

Используйте Wget, чтобы сохранить загруженный файл под другим именем.

Чтобы сохранить загруженный файл под другим именем, передайте параметр -O, а затем выбранное имя:

wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip

Приведенная выше команда сохранит последний zip-файл latest-hugo.zip вместо исходного имени.

Используйте Wget для загрузки файла в определенный каталог

По умолчанию 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.

Как ограничить скорость загрузки с помощью Wget

Чтобы ограничить скорость загрузки, используйте параметр --limit-rate. По умолчанию скорость измеряется в байтах в секунду. Добавьте k для килобайта, m для мегабайта и g для гигабайта.

Следующая команда загрузит бинарный файл Go и ограничит скорость загрузки до 1 МБ:

wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

Эта опция полезна, когда вы не хотите, чтобы wget использовал всю доступную полосу пропускания.

Как возобновить загрузку с помощью Wget

Вы можете возобновить загрузку с помощью параметра -c. Это полезно, если соединение обрывается во время загрузки большого файла и вместо того, чтобы начать загрузку с нуля, вы можете продолжить предыдущую.

В следующем примере мы возобновим загрузку iso-файла Ubuntu 18.04:

wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso

Если удаленный сервер не поддерживает возобновление загрузки, Wget начнет загрузку с самого начала и перезапишет существующий файл.

Как скачать в фоновом режиме с помощью 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

Иногда при загрузке файла удаленный сервер может быть настроен на блокировку Wget User-Agent. В подобных ситуациях используйте параметр -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

Как загрузить несколько файлов с помощью Wget

Если вы хотите загрузить несколько файлов одновременно, используйте параметр -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-адреса будут считаны из стандартного ввода.

Используйте Wget для загрузки по FTP

Чтобы загрузить файл с FTP-сервера, защищенного паролем, укажите свое имя пользователя и пароль, как показано ниже:

wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz

Используйте Wget для создания зеркала веб-сайта

Чтобы отразить веб-сайт с помощью Wget, используйте параметр -m. Это создаст полную локальную копию веб-сайта, перейдя и загрузив все внутренние ссылки и ресурсы веб-сайта (JavaScript, CSS, изображения).

wget -m https://example.com

Если вы хотите использовать загруженный веб-сайт для локального просмотра, вам нужно будет передать некоторые дополнительные аргументы в приведенную выше команду.

wget -m -k -p https://example.com

Параметр -k позволит Wget преобразовывать ссылки в загруженных документах, чтобы сделать их пригодными для локального просмотра. Параметр -p укажет wget загрузить все файлы, необходимые для отображения HTML-страницы.

Как пропустить проверку сертификата с помощью Wget

Если вы хотите загрузить файл по HTTPS с хоста с недействительным SSL-сертификатом, используйте параметр --no-check-certificate:

wget --no-check-certificate https://domain-with-invalid-ss.com

Как загрузить стандартный вывод с помощью Wget

В следующем примере Wget автоматически загрузит (опция -q ) и отправит последнюю версию WordPress на стандартный вывод (опция -O - ) и перенаправит ее утилите tar, которая извлечет архив в каталог /var/www.

wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www

Вывод

С помощью Wget вы можете загружать несколько файлов, возобновлять частичные загрузки, зеркалировать веб-сайты и комбинировать параметры Wget в соответствии с вашими потребностями.

Чтобы узнать больше о Wget, посетите страницу руководства GNU wget.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.