Команда wget в линукс

Содержание
  1. Команда Wget в Linux с примерами
  2. Установка Wget
  3. Установка Wget в Ubuntu и Debian
  4. Установка Wget на CentOS и Fedora
  5. Синтаксис команды Wget
  6. Как скачать файл с помощью wget
  7. Сохранение загруженного файла под другим именем
  8. Загрузка файла в определенный каталог
  9. Ограничение скорости загрузки
  10. Возобновление загрузки
  11. Загрузка в фоновом режиме
  12. Смена пользовательского агента Wget
  13. Загрузка нескольких файлов
  14. Скачивание через FTP
  15. Создание зеркала веб-сайта
  16. Пропуск проверки сертификата
  17. Загрузка на стандартный вывод
  18. Выводы
  19. Изучаем команду wget на 12 примерах
  20. 1. Загрузка одного файла
  21. 2. Загрузка файла и сохранение его с новым именем
  22. 3. Ограничение скорости загрузки файлов
  23. 4. Завершение прерванной загрузки
  24. 5. Фоновая загрузка файла
  25. 6. Загрузка нескольких файлов
  26. 7. Увеличение общего числа попыток загрузки файла
  27. 8. Загрузка файлов с FTP-сервера
  28. 9. Создание локальной копии веб-сайта
  29. 10. Загрузка с сайта только файлов определённого типа
  30. 11. Пропуск файлов определённого типа
  31. 12. Загрузка с использованием собственного .log-файла
  32. Итоги

Команда Wget в Linux с примерами

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

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

Установка Wget

Пакет wget предустановлен на сегодняшний день в большинстве дистрибутивов Linux.

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

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

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

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

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

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

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

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

Читайте также:  Linux virtualbox только 32 bit

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

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

Сохранение загруженного файла под другим именем

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

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

Приведенная выше команда сохранит последний zip-файл hugo с GitHub как latest-hugo.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 :

Смена пользовательского агента 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/

Приведенная выше команда wget-forbidden.com Firefox 60, запрашивающий страницу с wget-forbidden.com

Загрузка нескольких файлов

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

В следующем примере показано, как загрузить iso-файлы Arch Linux, Debian и Fedora, используя URL-адреса, указанные в 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, изображения).

Читайте также:  Как удалить telegram linux

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

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

Выводы

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

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

Источник

Изучаем команду wget на 12 примерах

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

Если этот параметр не использовать, то загрузка недокачанного файла начнётся сначала.

Читайте также:  Look at all processes linux

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 . Однако, перед тем, как начинать загрузку, нужно создать файл, содержащий все адреса. Например, сделать это можно такой командой:

В этот файл нужно поместить адреса — по одному в каждой строке. Далее, осталось лишь запустить wget , передав этой утилите только что созданный файл со списком загрузок:

Выполнение этой команды приведёт к поочерёдной загрузке всех файлов из списка.

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-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 :

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 для загрузки файлов? Если да — просим о них рассказать.

Источник

Оцените статью
Adblock
detector