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

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

Wget Command in Linux with Examples

27 Декабря 2019 | Терминал

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

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


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

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

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


sudo apt install wget

sudo yum install wget

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

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


wget [options] [url]


  • options - варианты Wget
  • url - URL файла или каталога, который вы хотите скачать или синхронизировать.

В простейшей форме, когда используется без какой-либо опции, 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 (число) в конце имени файла.


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


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


Команда выше сохранит последнюю файл hugo zip из 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 за мегабайты и за гигабайты.

Следующая команда загрузит двоичный файл 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 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

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

В следующем примере мы загружаем iso файлы Arch Linux, Debian и Fedora с URL-адресами, указанными в linux-distros.txt файле:


wget -i linux-distros.txt
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-сервера, защищенного паролем, укажите имя пользователя и пароль, как показано ниже:


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 в stdout (пометит -O -) и tar передаст ее утилите, которая извлечет архив в /var/www каталог.


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

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


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...