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

Wget — это утилита командной строки, созданная проектом GNU для загрузки файлов из Интернета. Название представляет собой сочетание World Wide Web и слова get.

С помощью Wget вы можете скачивать файлы по протоколам HTTP, HTTPS, FTP и SFTP.

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

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

Установка Wget

Во-первых, проверьте, соответствует ли wget утилита уже установлена ​​или нет в вашей операционной системе Linux, используя следующую команду.

## On Debian, Ubuntu and Mint ##
$ dpkg -l | grep wget
## On RHEL/CentOS/Fedora ##
$ rpm -q wget

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

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

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

$ sudo yum install wget

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

$ sudo apt install wget

Wget синтаксис

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

$ wget url
$ wget [options] [url]
  • options : параметры wget
  • url : URL-адрес файла или каталога, который вы хотите загрузить или синхронизировать.

1. Загрузите файл с помощью Wget

Команда загрузит один файл и сохранит его в текущем каталоге.

Он также показывает ход загрузки, дату и время, размер во время загрузки.

$ wget https://github.com/BoostIO/boost-releases/releases/download/v0.16.1/boostnote_0.16.1_amd64.deb

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

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

$ wget -O boostnote_latest.deb https://github.com/BoostIO/boost-releases/releases/download/v0.16.1/boostnote_0.16.1_amd64.deb

Команда выше сохранит boostnote_0.16.1_amd64.deb файл с GitHub как boostnote_latest.deb вместо своего первоначального названия.

3. Загрузка файлов в фоновом режиме

С участием -b опция, вы можете отправить загрузку в фоновом режиме сразу после начала загрузки, и журналы будут записаны в wget.log файл.

$ wget -b wget.log https://github.com/BoostIO/boost-releases/releases/download/v0.16.1/boostnote_0.16.1_amd64.deb

4. Загрузка файла в определенный каталог

По умолчанию, wget сохранит загруженный файл в текущем рабочем каталоге. Чтобы сохранить файл в определенном месте, используйте -P вариант.

$ wget -P mydata/files/ https://github.com/BoostIO/boost-releases/releases/download/v0.16.1/boostnote_0.16.1_amd64.deb

Команда выше говорит wget чтобы сохранить файл в mydata/files/ каталог.

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

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

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

$ cat download_files.txt 
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.2.0-amd64-DVD-1.iso
https://github.com/gohugoio/hugo/archive/master.zip
https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
https://github.com/BoostIO/boost-releases/releases/download/v0.16.1/boostnote_0.16.1_amd64.deb
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso
$ wget -i download_files.txt

6. Пропуск проверки сертификата

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

$ wget --no-check-certificate https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

7. Зеркальное отображение всего веб-сайта

Чтобы создать зеркало веб-сайта с wgetиспользовать -m вариант.

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

$ wget -m https://edumotivation.com

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

$ wget -m -k -p https://edumotivation.com
  • То -k вариант вызовет wget преобразовать ссылки в загруженных документах, чтобы сделать их пригодными для локального просмотра.
  • То -p Опция укажет wget загрузить все необходимые файлы для отображения HTML-страницы.

8. Возобновить незавершенную загрузку

В случае загрузки большого файла иногда может произойти остановка загрузки.

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

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

$ wget -c https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

9. Загрузка через FTP (защищено паролем)

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

$ wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.demo.com/file_name.tar.gz

10. Загрузка через HTTP (защищено паролем)

Чтобы загрузить файл с защищенного паролем HTTP-сервера, вы можете использовать параметры --http-user=username а также --http-password=password как показано.

$ wget --http-user=helpdesk [email protected] http://http.demo.com/file_name.tar.gz

11. Загрузите несколько файлов по протоколу HTTP и FTP.

Введите следующую команду для одновременной загрузки нескольких файлов по протоколам HTTP и FTP с помощью wget.

$ wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz ftp://ftp.demo.com/file_name.tar.gz

12. Загрузка в стандартный вывод

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

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

13. Установите ограничения скорости загрузки файлов

Чтобы ограничить скорость загрузки, используйте --limit-rate вариант.

По умолчанию скорость измеряется в байтах в секунду. С опцией --limit-rate=500kограничение скорости загрузки ограничено 500 КБ, а журналы будут создаваться в wget.log как показано ниже.

$ wget -c --limit-rate=500k -b wget.log https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso

14. Изменение пользовательского агента 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.

Заключение

Надеюсь, вы узнали что-то новое из этой статьи.

Я постарался включить в это руководство все возможности команды wget.

Теперь я хотел бы услышать ваши мысли.

Было ли это руководство полезным для вас?

Или, может быть, у вас есть какие-то вопросы.

Разве я не включил какую-либо команду в это руководство?

Оставьте комментарий ниже.

Источник:

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *