Как скачать файл по ссылке linux
Перейти к содержимому

Как скачать файл по ссылке linux

  • автор:

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 за один раз. Для этого просто указываем их через пробел. Например:

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

скачивание нескольких файлов с помощью wget

При необходимости, для скачиваемого файла можно указать новое название. Для этого нужно использовать опцию « -O ». В этом случае команда для скачивания файла будет выглядеть так:

wget -O ubuntu.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

скачивание с указанием нового имени в wget

В случае прерывания загрузки ее можно продолжить. Для этого нужно запустить команду wget еще раз, но в этот раз с добавлением опции « -c ». Команда перезапуска загрузки выглядит примерно так:

wget -c https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

продолжение скачивания в wget

Если во время скачивания файла вы хотите продолжить работу с терминалом Linux, то загрузку можно выполнить в фоновом режиме. Для этого нужно использовать опцию « -b ». Команда для скачивания файла в фоновом режиме выглядит примерно так:

wget -b https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

скачивание в фоновом режиме в wget

Это основные опции команды « 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 может выглядеть примерно так:

скачивание с помощью 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

скачивание нескольких файлов в curl

При желании можно изменить имя для скачиваемого файла. Для этого нужно использовать опцию « -o » и после нее указать новое имя для файла. Например:

curl -o ubuntu.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

скачивание с указанием имени файла в curl

Если загрузка была прервана, то ее можно продолжить с того места, где она остановилась. Для этого нужно еще раз выполнить команду « curl », но с добавлением опции « -C — ». Например:

curl -o ubuntu.iso -C - https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso

возобновление скачивания в curl

Это основные опции команды « 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 имеет следующий синтаксис:

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

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

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