Команда 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
: параметры wgeturl
: 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.
Теперь я хотел бы услышать ваши мысли.
Было ли это руководство полезным для вас?
Или, может быть, у вас есть какие-то вопросы.
Разве я не включил какую-либо команду в это руководство?
Оставьте комментарий ниже.
Источник: