Перейти к содержимому

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

  • автор:

Как скачать файл Linux

Загрузка файлов — это довольно простая операция, которую мы можем выполнять множество раз в день, даже не задумываясь в графическом интерфейсе с помощью браузера. Это очень просто и быстро, достаточно кликнуть мышкой. Но дело в том, что у вас может не всегда быть доступ к графическому интерфейсу, а на серверах графического интерфейса нету вовсе.

Что же делать, когда нужно скачать файл Linux через терминал? Для этого существует несколько утилит и даже консольных браузеров. В этой статье мы рассмотрим самые популярные способы загрузки файла в Linux, которые применяются наиболее часто. Рассмотрим примеры применения таких утилит и их возможности.

Table of Contents

  • Как скачать файл в Linux с помощью wget
  • Загрузка файла с помощью curl
  • Скачивание файла с помощью aria2
  • Скачать файл с помощью elinks
  • Выводы

Как скачать файл в Linux с помощью wget

Утилита wget — это одна из самых популярных консольных утилит для загрузки файлов. Мы уже рассматривали как пользоваться этой утилитой в отдельной статье. С помощью wget можно сделать намного больше чем просто загрузить файл linux. Вы можете скачать все файлы со страницы или же полностью загрузить весь веб-сайт. Но сейчас нас будет интересовать только самая простая ситуация.

Чтобы скачать файл Linux консоль выполните такую команду:

$ wget адрес_файла

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

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

Иногда нужно скачать скрипт и сразу его выполнить. Это тоже делается достаточно просто. Нам нужно перенаправить содержимое файла на стандартный вывод, а затем передать его нужной утилите:

wget -O — http://www.tecmint.com/wp-content/scripts/Colorfull.sh | bash

Скрипт будет выполнен сразу после загрузки. Также вы можете указать имя для нового файла с помощью той же опции:

wget -O script.sh http://www.tecmint.com/wp-content/scripts/Colorfull.sh

Только обратите внимание, что со скриптами, загруженными из интернета нужно быть аккуратными. Сначала проверяйте не совершают ли они каких-либо деструктивных действий в системе. Из особенностей wget можно отметить, что утилита поддерживает протоколы HTTP, HTTPS и FTP, а для шифрования может использоваться только GnuTLS или OpenSSL.

Загрузка файла с помощью curl

Утилита curl предназначена для решения задач другого типа задач. Она больше подходит для отладки приложений и просмотра заголовков. Но иногда применяется и для загрузки файлов. По умолчанию, curl будет отправлять полученные данные сразу в стандартный вывод, поэтому она более удобна для загрузки скриптов:

curl http://www.tecmint.com/wp-content/scripts/Colorfull.sh | bash

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

curl -O https://github.com/torvalds/linux/archive/v4.11-rc6.tar.gz

Когда загрузка файла в linux будет завершена, он будет находится в текущей папке. Вывод утилиты состоит из нескольких колонок, по которым можно детально отследить как происходит процесс загрузки:

  • % — показывает на сколько процентов загрузка завершена на данный момент;
  • Total — полный размер файла;
  • Reсeived — количество полученных данных;
  • Xferd — количество отправленных на сервер данных, работает только при выгрузке файла;
  • Average Speed Dload — средняя скорость загрузки;
  • AVerage Speed Upload — скорость отдачи для выгрузки файлов;
  • Time Total — отображает время, которое уйдет на загрузку всего файла;
  • Time Spend — сколько времени потрачено на загрузку файла;
  • Time Left — время, которое осталось до конца загрузки файла;
  • Current Speed — отображает текущую скорость загрузки или отдачи.

Если вы хотите скачать файл из командной строки linux и сохранить его с произвольным именем, используйте опцию -o в нижнем регистре:

curl -o taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Например, если для этого файла не задать имя, то он запишется с именем скрипта, а это не всегда удобно. Если остановиться на отличиях curl от wget, то здесь поддерживается больше протоколов: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP, RTMP и RTSP, а также различные виды шифрования SSL.

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

Консольная утилита aria2 — это еще более сложный загрузчик файлов, чем даже curl. Здесь поддерживаются такие протоколы, как HTTP, HTTPS, FTP, SFTP, BitTorrent и Metalink. Поддержка BitTorrent позволяет загружать файлы и раздавать их даже по сети Torrent. Также утилита примечательна тем, что может использовать несколько каналов для загрузки файлов чтобы максимально использовать пропускную способность сети.

Например, чтобы скачать файл используйте такую команду:

Здесь тоже будет отображаться небольшой статус-бар с подробной информацией про состояние загрузки. Чтобы начать загрузку торрента. достаточно передать торрент файл или magnet ссылку:

aria2c http://example.org/mylinux.torrent
$ aria2c ‘magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C’

Скачать файл с помощью elinks

Еще одна ситуация, когда вам нужно скачать файл из командной строки linux, вы знаете где его найти, но у вас нет прямой ссылки. Тогда все ранее описанные утилиты не помогут. Но вы можете использовать один из консольных браузеров, например, elinks. Если эта программа еще не установлена, то вы можете найти ее в официальных репозиториях своих дистрибутивов.

Запустите браузер, например, с помощью команды:

В первом окне нажмите Enter:

Затем введите URL страницы, например, не будем далеко ходить и снова скачаем ядро с kernel.org:

Когда вы откроете сайт, останется только выбрать URL для загрузки:

Далее выберите что нужно сделать с файлом, например, сохранить (save), а также выберите имя для нового файла:

В следующем окне вы увидите информацию о состоянии загрузки:

Выводы

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

Как скачать файл с сети в консоли?

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

Поделиться:

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

Как копировать файлы по SSH

SSH (от англ. Secure Shell – безопасная оболочка) – это сетевой протокол для безопасной передачи данных и удаленного подключения к серверу.

Для чего нужен SSH:

  • для удаленного администрирования сервера или локальных сетей,
  • для защиты данных при управлении почтовыми службами,
  • для сжатия файлов при передачи больших объемов информации,
  • для переноса сайтов с одного хостинга на другой,
  • для безопасной передачи данных.

Распространенная ситуация использования SSH – загрузка сайта на сервер хостинг-провайдера.

Передача файлов по SSH и подключение с его помощью к серверу осуществляется системными администраторами. Для работы с протоколом потребуются навыки системного администрирования, так как при подключении с помощью SSH вы не увидите привычного рабочего стола компьютера и набора программ. Вам откроется черное окно – командная строка, сюда вводятся команды, которые требуется выполнить.

Как работает SSH

Подключение к серверу по SSH позволяет работать с оборудованием так, как будто вы находитесь непосредственно возле него. Загрузка файлов по SSH осуществляется с помощью двух составляющих: SSH-сервера и SSH-клиента.

Для работы протокола использует открытый порт 22 (по умолчанию) и в случае успешной аутентификации предоставляет доступ администратору. Все запросы, которые вводятся на SSH-клиенте, проходят через защищенный канал связи и доставляются на SSH-сервер.

Чтобы начать передачу данных от клиента к серверу, необходимо установить SSH-соединение – защищенный туннель, по которому информация передается в зашифрованном виде.

Для шифрования используются публичный и частный ключ. Публичный – известен всем, частный – есть только у SSH-клиента и SSH-сервера. Авторизация проходит успешно, когда SSH-сервер получает публичный ключ, находит в своем списке разрешенных подключений клиента и отправляет ему информацию зашифрованную частный ключом. Если сервер получает обратно верную расшифровку, то клиент подключается к серверу.

Отметим, что SSH-сервером может быть не только физический сервер, но и ноутбук или персональный компьютер.

Для установки SSH-соединения требуется специальная программа. Она должна быть установлена и на оборудовании, к которому планируют подключаться и на устройстве, с которого будет выполняться подключение.

Существуют платные и бесплатные SSH-серверы для популярных операционных систем:

  • для FreeBSD — OpenSSH:
  • для Unix-подобных OC — dropbear, lsh-server, openssh-server:
  • для Windows — freeSSHd, copssh, WinSSHD, OpenSSH и другие.

SSH-клиенты также разработаны для всех популярных десктопных и мобильных операционных систем.

  • для Unix-подобных OC — openssh-client, putty, ssh, Vinagre;
  • для Windows — PuTTY, SecureCRT, ShellGuard. Начиная с версии Windows 10 появилась встроенная программа OpenSSH;
  • Linux и MacOS имеют встроенный SSH-клиент , которому не требуется дополнительная настройка;
  • для Android — connectBot.

Загрузка файлов через SSH

Как скопировать файл по SSH на Linux

Чтобы скопировать файл по SSH потребуется выполнить команду scp Подключение к серверу возможно только при наличии пароля и логина пользователя. Общая команда для скачивания имеет вид:

scp [опция] [источник] [получатель]

После запуска команды введите пароль от указанного удаленного сервера.

Как по SSH скачать файл на локальный компьютер с удаленного сервера

После подключения по SSH введите команду:

scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Например, команда может выглядеть следующим образом:

scp root@111.111.111.111:/home/example.txt /directory

Она означает, что файл example.txt будет загружен с сервера 111.111.111.112 на локальный компьютер в папку «/directory».

Как загрузить файл на сервер по SSH с локальной машины

Чтобы загрузить файл по SSH на Linux выполните команду:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Предположим, команда выглядит следующим образом:

scp /home/example.txt root@111.111.111.112:/directory

Команду можно расшифровать как: файл example.txt будет скопирован на хост 111.111.111.112 в директорию «/directory».

Как скопировать файл по SSH с одного удаленного сервера на другой

Перед началом передачи данных через SSH подключитесь к серверу, где находится файл и выполните команду:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Указанная команда может иметь вид:

scp /home/example.txt root@111.111.111.112:/directory

Это значит, что файл example.txt будет скопирован на хост 111.111.111.112 в директорию «/directory».

Как скачать по SSH папку со всеми файлами и подпапками

Для скачивания папки со всеми файлами и подпапками, используйте ключ -r :

scp -r [источник] [получатель]

Например, для скачивания каталога /home/user/buh команда может выглядеть следующим образом:

scp –r /home/user/buh root@111.111.111.112:/root

Как подключиться к серверу по нестандартному порту

Если работа SSH-сервера происходит через нестандартный порт, используйте опцию –P:

scp -P [источник] [получатель]

Например, команда может выглядеть следующим образом:

scp -P 2022 /home/example.txt root@111.111.111.112:/directory

Подключение происходит по порту 2022 к серверу 111.111.111.112, на этот сервер копируется файл example.txt с локального компьютера в директорию «/directory».

Чтобы узнать, какие еще возможности предоставляет команда, запустите scp без параметров и прочтите краткую справку.

Как загрузить файл через SSH на Windows

Как происходит загрузка файлов по SSH на Windows? В операционной системе от Microsoft используется утилита pscp.exe. Принцип ее работы схож с командой scp. Утилита pscp.exe изначально добавлена в программу Putty (самый популярный SSH-клиент для Windows). Но сама Putty не включена в набор Windows-программ. Скачать ее можно на официальном сайте.

При работе с операционной системой Windows и SSH-клиентом Putty, формат команд остается такой же как при работе с UX-системами. Меняется название исполняемого файла и используется синтаксис обозначения пути к файлам и каталогам при указании источника или места назначения (сравните: /home/example.txt — для Linux и C:Tempfile.tgz для Windows).

Как скачать файл по SSH через Putty? Открываем командную строку cmd.exe (сочетание клавиш Win+R), переходим в каталог, где расположен файл pscp.exe, набираем команду:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

pscp.exe root@111.111.111.112:C:Tempfile.tgz /root

Загрузить файл на сервер можно командой:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

pscp.exe C:Tempfile.tgz root@111.111.111.112:/root

Чтобы увидеть список папок и файлов, размещенных на сервере, введите:

pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]

Если в пути или в названии файла присутствуют пробелы, то обозначьте их двойными кавычками — “Путь к файлу”.

Как и с scp, запуская pscp.exe без заданных параметров, вы можете получить краткую информацию по возможным командам и перечень поддерживаемых модификаторов.

Заключение

SSH — удобный и надежный протокол для работы с удаленными устройствами. Он позволяет безопасно загружать и скачивать необходимую информацию с сервера на компьютер и наоборот. Преимущество SSH – простота использования и универсальность удаленного доступа, наличие ключей шифрования, обеспечивающих высокую степень защиты данных.

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

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