wget
wget — текстовая программа для скачивания файлов.
Если возможностей wget не хватает, то можно использовать curl.
Примеры
Просто скачать файл wget-ом:
wget ftp://vasya.pupkin.com/film.avi
Для продолжения оборвавшейся закачки пишем:
wget -c ftp://vasya.pupkin.com/film.avi
wget --continue ftp://vasya.pupkin.com/film.avi
Как и в других программах, ключи имеют короткую и длинную формы, и вместо -с можно написать -continue . Длинные ключи проще запомнить, но дольше писать. Можно легко смешивать различные формы написания.
Чтобы выкачать файлы из списка, содержащего прямые ссылки:
wget -i pupkinlist.txt
wget --input-file=pupkinlist.txt
Здесь указывается только файл, в котором содержатся ссылки. Файл может так же быть HTML -страницей, в которой есть ссылки. Они будут выкачаны указанной выше командой.
Использование а-ля «Teleport Pro for Linux».
При скачивании веб-сайтов возможностей больше, и поэтому требуется больше ключей. Опять-таки, запоминать их все не обязательно, можно сделать скрипт (а лучше несколько — под разные случаи) и вызывать их.
Так вот, если имеется веб-сайт, и хотелось бы иметь его локальную копию на компьютере, чтобы, отключившись от сети, можно было не торопясь его почитать.
Зеркалирование сайтов на локальную машину:
wget -m http://www.vasyapupkin.com/
-m эквивалентно -r -N -l inf -nr , эти опции описаны ниже.
При этом ссылки останутся абсолютными — то есть, будут указывать на Интернет-адреса, и удобно просматривать на локальной машине будет затруднительно.
Копирование сайта для локального просмотра (с заменой интернет-ссылок на локальные адреса скачанных страниц):
wget -r -l0 -k http://www.vasyapupkin.com/
При этом будет включена рекурсивная выгрузка (ключ -r, –recursive),
Опции
В wget имеется большое количество полезных опций — побольше, чем у Teleport’а флажков. Будучи завёрнутым в скрипт, например, teleport и положенным на видное место (указанное в PATH ), имеем удобство применения и богатство настроек.
-np , –no-parent — не подниматься выше начального адреса при рекурсивной загрузке.
-r , –recursive — включить рекурсивный просмотр каталогов и подкаталогов на удалённом сервере.
-l , –level= — определить максимальную глубину рекурсии равной depth при просмотре каталогов на удалённом сервере. По умолчанию depth=5.
-np , –no-parent — не переходить в родительский каталог во время поиска файлов. Это очень полезное свойство, поскольку оно гарантирует, что будут копироваться только те файлы, которые расположены ниже определённой иерархии.
-A , –accept , -R , –reject — список имен файлов, разделенных запятыми, которые следует (accept) или не следует (reject) загружать. Разрешается задание имен файлов по маске.
-k , –convert-links — превратить абсолютные ссылки в HTML документе в относительные ссылки. Преобразованию подвергнутся только те ссылки, которые указывают на реально загруженные страницы; остальные не будут преобразовываться. Заметим, что лишь в конце работы wget сможет узнать какие страницы были реально загружены. Следовательно, лишь в конце работы wget будет выполняться окончательное преобразование.
–http-user= , –http-passwd= — указать имя пользователя и пароль на HTTP -сервере.
-H , –span-hosts — разрешает посещать любые сервера, на которые есть ссылка.
-p , –page-requisites — загружать все файлы, которые нужны для отображения страниц HTML . Например: рисунки, звук, каскадные стили ( CSS ). По умолчанию такие файлы не загружаются. Параметры -r и -l , указанные вместе могут помочь, но т.к. wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.
Как скачать файл в Linux через терминал
Не редко при настройке сервера на Linux возникает необходимость в скачивании файлов. Например, это могут быть какие-то архивы или скрипты. Для решения такой задачи необходимо уметь скачивать файлы прямо через терминал Linux. В этой инструкции мы рассмотрим две команды, которые чаще всего используются для скачивания файлов через терминал Linux.
Команда wget
Wget – это мощная утилита для скачивания файлов, с ее помощью можно загружать файлы по протоколам HTTP, HTTPS и FTP. При этом поддерживается скачивание с использованием прокси, а также работа в фоновом режиме.
Кроме этого, с помощью wget можно скачивать веб страницы или даже целые веб-сайты. Для этого используется рекурсивный обход всех найденных на странице ссылок и создание локальной копии сайта с воссозданием его структуры.
Wget хорошо работает с медленным или нестабильным подключением к интернету. В случае разрыва соединения wget будет повторять попытки скачивания до тех пор, пока весь файл не будет загружен. При этом продолжение загрузки будет начинаться с того места, где она остановилась.
Синтаксис команды wget выглядит следующим образом:
wget [опции] [ссылка]
Утилита wget доступна на большинстве дистрибутивов Linux. Но, если в вашей системе ее нет, то вы можете установить ее самостоятельно. В Ubuntu для этого нужно выполнить команду:
apt-get install wget
В общем случае для скачивания файла через терминал Linux достаточно ввести команду « wget » и через пробел указать URL адрес, после чего начнется загрузка указанного документа. Например, команда на скачивание файла может выглядеть вот так:
wget https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

Если нужно скачать несколько файлов подряд, то их адреса можно передать утилите wget за один раз. Для этого просто указываем их через пробел. Например:
wget https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

При необходимости, для скачиваемого файла можно указать новое название. Для этого нужно использовать опцию « -O ». В этом случае команда для скачивания файла будет выглядеть так:
wget -O ubuntu.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

В случае прерывания загрузки ее можно продолжить. Для этого нужно запустить команду wget еще раз, но в этот раз с добавлением опции « -c ». Команда перезапуска загрузки выглядит примерно так:
wget -c https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

Если во время скачивания файла вы хотите продолжить работу с терминалом Linux, то загрузку можно выполнить в фоновом режиме. Для этого нужно использовать опцию « -b ». Команда для скачивания файла в фоновом режиме выглядит примерно так:
wget -b https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

Это основные опции команды « wget », которые используются чаще всего. Для того чтобы ознакомиться со всеми доступными опциями введите команду « man wget ».
Команда curl
Curl – еще одна мощная утилита для скачивания файлов, которая доступна из терминала Linux. С ее помощью можно скачивать файлы по протоколам HTTP, HTTPS, FTP, FTPS, TFTP, Telnet, SCP, SFTP, DICT, LDAP, а также POP3, IMAP и SMTP. Также curl поддерживает работу через прокси, веб-аутентификацию, отправку данных через http, работу с cookie-файлами и многое другое.
Синтаксис команды curl выглядит следующим образом:
curl [опции] [ссылка]
Команда curl может отсутствовать в вашем дистрибутиве Linux. Но, вы можете установить ее самостоятельно. В Ubuntu для этого нужно выполнить следующую команду:
sudo apt-get install curl
По умолчанию, команда curl выводит скачанное прямо в терминал. Это может быть полезно в некоторых случаях, но чаще всего требуется сохранение скачанного в виде файла. Для этого следует использовать опцию « -O ». Например, команда на скачивание файла с помощью curl может выглядеть примерно так:

Если нужно скачать сразу несколько файлов, то их можно указать через пробел один за другим. При этом для каждого из файлов нужно указать опцию « -O ». Выглядит это примерно так:
curl -O https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso -O https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

При желании можно изменить имя для скачиваемого файла. Для этого нужно использовать опцию « -o » и после нее указать новое имя для файла. Например:
curl -o ubuntu.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

Если загрузка была прервана, то ее можно продолжить с того места, где она остановилась. Для этого нужно еще раз выполнить команду « curl », но с добавлением опции « -C — ». Например:
curl -o ubuntu.iso -C - https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

Это основные опции команды « curl », которые применяются чаще всего. Для того чтобы посмотреть все доступные опции выполните команду « man curl ».
- Как удалить папку в Linux через терминал (консоль)
- Как открыть файл в терминале Linux
- Как создать файл в Linux через терминал
- Как скопировать файл в Linux через терминал
- Как удалить файл в Linux через терминал
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
Как скачать файл с сети в консоли?
Wget — это консольная утилита, которая позволяет скачивать файлы с сети через различные протоколы. Эта программка обладает огромными возможностями, позволяет скачивать файлы из списка, производить докачку файлов, автоматически добавляет логин и пароль при скачивании с анонимного ftp сервера и многое другое. Также к достоинствам данной программуленки относится тот факт, что она является мультиплатформенной (существует для windows, linux и mac os x).
Чтобы скачать любой файл при помощи этой утилиты необходимо ввести простенькую команду:
wget http://shkola-linux.ru/files/file.dat
Эта команда скачает файл file.dat в тот каталог, где эта команда была запущена.
Параметр -P позволяет сохранять скачаный файл сохранять в любой каталог, здесь в /home/user
wget -i /home/user/url.dat
Параметр -i позволяет произвести закачку всех ссылок, сохраненных в файле /home/user/url.dat
Программа wget умеет автоматически подставлять логин и пароль при необходимости.
Скачивание файла в фоновом режиме.
Парметр -c позволяет производить докачку ранее недокаченого файла.
Создание локальной копии сайта.
wget -r -l0 -k http://shkola-linux.ru/
-r — этот параметр заставляет автоматически находить ссылки на файлы и скачивать их (рекурсивный обход)
-l0 — глубина закачки ссылок, здесь использавана нулевая глубина, которая закачает весь сайт, если мы поставим параметр -l 5 , то сайт скачается только до 5 уровня ссылок.
-k — преобразует все ссылки в документах html в локальные ссылки, которые можно просматривать локально.
С помощью команды man, вы сможете узнать все параметры программы wget
man wget
Поделиться:
Оставьте свой комментарий!
Использование команды Wget на простых примерах

Утилита wget (или команда wget) предназначена для скачивания файлов, веб страниц и других ресурсов из интернета. Рассмотрим основные возможности команды wget на примерах.
Синтаксис команды wget
Команда wget имеет следующий синтаксис:
wget [опции] URL
В простейшем случае, чтобы скачать файл, достаточно указать URL-адрес:
wget https://domain.ru/filename.tar.bz2
Выполнив данную команду, вы скачаете файл filename.tar.bz2 , расположенный по адресу https://domain.ru/filename.tar.bz2, который будет сохранен в текущую директорию.
Указание нового имени файла
Используя опцию -O можно задать название результирующего файла.
Например, если файл, который вы скачиваете, имеет имя filename-1.3.0-release-branch.tar , вы можете сохранить его с именем filename.tar :
wget -O filename.tar ftp://some.host.com/filename-1.3.0-release-branch.tar
Скачивание в фоновом режиме
Чтобы скачать файл в фоновом режиме используется опция -b :
wget -b http://host.com/file.zip
Скачивание нескольких файлов (по списку)
Команде wget можно передать текстовый файл, в котором на каждой строчке записаны URL-адреса, которые требуется скачать. Для этого используется опция -i :
wget -i list-of-files.txt
Скачивание файлов по ссылкам в HTML-документе
Команда wget поддерживает скачивание файлов по ссылкам в HTML-документе. То есть она автоматически находит все ссылки в HTML-файле и скачивает их:
wget --force-html -i file.html
Ограничение скорости скачивания
Чтобы ограничить скорость скачивания используется опция —limit-rate .
wget --limit-rate=500k http://some-site.com/filename.tar.gz
500k означает 500KB/s.
В качестве значения —limit-rate можно указывать скорость загрузки в следующих форматах:
- байтах в секунду — например: 300
- килобайтах в секунду — например: 10k
- мегабайтах в секунду- например: 10.5m
Продолжение загрузки
Чтобы продолжить прервавшуюся загрузку используется опция -c :
wget -c http://some-site.com/file.tar
Проверка существования файла
Перед тем, как скачать файл, можно проверить существует ли он. Например, это может потребоваться, когда вы скачиваете большое количество файлов и хотите заранее знать, все ли из них доступны. Для проверки доступности файлов используется опция —spider .
Например, чтобы проверить доступность файлов в списке можно использовать команду:
wget --spider -i list-of-files.txt
Также можно проверить доступен ли конкретный файл:
wget --spider http://site.com/filename.zip
При использовании опции —spider файлы не скачиваются, а только выполняется проверка.
Как скачать сайт
Инструкцию по скачиванию сайтов с помощью wget смотрите в отдельной статье: Скачиваем сайты целиком — утилита wget
Скачивание с FTP (указание логина и пароля)
Чтобы скачать файл с FTP-сервера, для которого требуется указание логина и пароля, используются опции —ftp-user и —ftp-password :
wget --ftp-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ --ftp-password=ПАРОЛЬ ftp://ftp.адрес.com/filename.tar
Скачивание с HTTP с указанием логина и пароля
Если для доступа к ресурсу по HTTP требуется указание имени пользователя и пароля, то для этого используются опции —http-user и —http-password :
wget --http-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ --http-password=ПАРОЛЬ http://ftp.адрес.com/filename.tar
Указание количества попыток
Если соединение нестабильное, то можно задать количество попыток, чтобы загрузка файла продолжалась в случае сбоя. Для указания количества попыток используется опция -t :
wget -t 10 http://site.com/filename.zip
По умолчанию установлено количество попыток — 20. Но если при попытке загрузки файла получена ошибка 404 (файл не найден) или connection refused, то скачивание прерывается.
Ожидание между загрузкой файлов
При скачивании большого количества файлов, слишком частое обращение к удаленному серверу с вашей стороны может расцениваться сервером как DDoS атака. Опция -w позволяет задать количество секунд, которое требуется ожидать перед загрузкой очередного файла.
wget -w 15 .
Некоторые веб-сайты умеют распознавать автоматические запросы к сайту, которые происходят с заданной периодичностью. Поэтому даже использование опции -w не всегда помогает. В таких случаях можно воспользоваться дополнительной опцией —random-wait . При ее использовании ожидание перед загрузкой очередного файла составляет случайное количество секунд от 0.5*wait до 1.5*wait. Пример использования (ожидание будет в диапазоне от 15 до 45 секунд):
wget -w 30 --random-wait .
Указание нескольких опций
В примерах выше мы использовали опции по отдельности. Можно использовать несколько опций в одной команде одновременно, например:
wget -w 50 --random-wait -t 15 --limit-rate=5m http://site.com/file.zip
Заключение
Мы рассмотрели только базовые возможности команды wget по скачиванию файлов. Полный список всех опций и их описание можно получить, выполнив в командной строке:
man wget