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

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

  • автор:

скопировать файл по символьной ссылке

С помощью rsync точно можно, у него есть ключ копировать содержимое вместо символьной ссылки.

anonymous
( 07.11.21 15:48:53 MSK )

спасибо

Cresh25
( 07.11.21 15:56:01 MSK ) автор топика

cp -L 

xmikex ★★★★
( 07.11.21 16:00:38 MSK )

bash # cp --dereference /opt/dir/

anonymous
( 07.11.21 16:04:53 MSK )
Ответ на: спасибо от Cresh25 07.11.21 15:56:01 MSK

домашка

домашка конкретно по символьным ссылкам! Есть файл concept.1 в домашнем каталоге /Михайлов. Создайте ссылку в /opt на каталог /Михайлов

Используя созданную ссылку, скопируйте concept.1 в тот же каталог, назвав concept.1.old. мучаю терминал двое суток и не могу создать команду.

Cresh25
( 07.11.21 16:22:27 MSK ) автор топика

Так же, как если бы не было ссылки. man cp.

YAR ★★★★★
( 07.11.21 16:22:54 MSK )
Ответ на: домашка от Cresh25 07.11.21 16:22:27 MSK

ссылку прописываю а как скопировать спомощью ее. opt# ln -s Михайлов мих.слинк а дальше никак

Cresh25
( 07.11.21 16:26:02 MSK ) автор топика
Ответ на: домашка от Cresh25 07.11.21 16:22:27 MSK

root@walkbook:/opt# ln -s /tmp mytmp rain@walkbook:~$ cp -a /opt/mytmp/string_test_fast_pyramid.stl /opt/mytmp/string_test.stl rain@walkbook:~$ ls -la /tmp/string_test* -rw-rw-rw- 1 rain rain 1684 июн 19 2017 /tmp/string_test_fast_pyramid.stl -rw-rw-rw- 1 rain rain 1684 июн 19 2017 /tmp/string_test.stl 

Лучше бы написал, что именно не получается.

How to download a file from URL in Linux

However, I came accross a site that I suspect uses ASP.Net / IIS. A link to a ISO is in this form (I removed link contents incase of . policies):

http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899 

I am not sure how to download this since it has the MD5 and expiry time as parameters, and so wget only downloads a web page, not this ISO. Any suggestions?

4,912 11 11 gold badges 25 25 silver badges 42 42 bronze badges
asked Jan 29, 2016 at 19:06
1,385 7 7 gold badges 25 25 silver badges 46 46 bronze badges
In such situations I recommend cliget addon for fx
Jan 29, 2016 at 19:13

Are you putting your asp.net url in quotes («)? There is «&» character which will have side effect of running it in background and your server will not get full url.

Jan 29, 2016 at 22:47
@user871199 Could you post this as an answer, this helped me
Jan 29, 2016 at 23:56

Unfortunately, if cookies are involved, it gets a lot harder. If correctly implemented by the web server, it’s even impossible without having a browser open on the same machine.

Jan 30, 2016 at 13:08

3 Answers 3

wget "http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899" 

Explanation: There is «&» character in the URL. On Linux and alike systems, this makes it a background process.

The solution is to enclose url in double quotes ( » ) so that it’s treated as one argument.

55.7k 22 22 gold badges 167 167 silver badges 214 214 bronze badges
answered Jan 30, 2016 at 0:11
user871199 user871199
456 3 3 silver badges 9 9 bronze badges

If you are just trying to get a reasonable filename the complex URL, you can use the output-document option.

-O file --output-document=file 

Either of these forms will work.

As noted previously, be sure none of the special characters in the URL are getting interpreted by the command parser.

answered Jan 29, 2016 at 23:50
Clark Wierda Clark Wierda
61 1 1 bronze badge

There are two ways you can do this using Curl.

In this first method you would the -O flag to write out the file based on the remote name from the URL; in this case it would most likely write the file out to the system as IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899 ; note how the URL value is contained by double quotes since & and ? might be misinterpreted as Bash commands:

curl -O -L "http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899"; 

While that method technically “works” but the filename is confusing at best. So in this other method you would use output redirection—with > followed by a filename after the URL—to output the file contents to a file named IMAGENAME.ISO :

curl -L "http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899" > "IMAGENAME.ISO"; 

So if you ask me, the second method works best for most average use. Also notice the -L flag being used in both commands; that commands tells Curl to follow any redirection links that a file download URL might have since a lot of times files on download services redirect a few times before landing at the destination payload file.

Копирование файлов через SSH

В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.

Для копирования файлов по SSH в Linux-системах и Windows используют разные инструменты:

  • scp (Secure CoPy) — утилита для безопасного копирования данных между Linux-системами по протоколу SSH. Она входит в состав OpenSSH, поэтому для работы с утилитой не нужно устанавливать дополнительное ПО;
  • pscp.exe — утилита для загрузки файлов по SSH в ОС Windows. Она обладает теми же возможностями, что и scp. Утилита входит в состав программы Putty — SSH-клиента для Windows. Скачать программу можно по ссылке.

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

Копирование файлов по SSH на Linux

Для Linux копирование файлов по SSH происходит с использованием команды scp. С её помощью можно копировать файлы:

  • с локального компьютера на удалённый сервер,
  • с удалённого сервера на локальный компьютер,
  • с одного удалённого сервера на другой.

Общий вид команды:

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

Для подключения к удалённому серверу вам понадобится логин и пароль пользователя.

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

Как загрузить файл на сервер по SSH? Для этого используйте команду вида:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
scp /home/test.txt root@123.123.123.123:/directory

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».

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

При подключённом SSH скачать файл на локальный компьютер с удалённого сервера можно с помощью команды:

scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
scp root@123.123.123.123:/home/test.txt /directory

Файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку «/directory».

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

Подключитесь по SSH к серверу, на котором расположен файл. Затем выполните команду:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
scp /home/test.txt root@123.123.123.123:/directory

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».

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

Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r:

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

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

Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключом -P:

scp -P [источник] [получатель]
scp -P 12345 /home/test.txt root@123.123.123.123:/directory

Эта команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «test.txt» с локального компьютера в директорию «/directory».

Как передать и скачать файлы по SSH на Windows

Скопировать файл по SSH на сервер можно командой:

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

Скачать файл по SSH с сервера командой:

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

Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:

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

Если в пути или в названии файла есть пробелы, используйте кавычки:

pscp “C:\files or docs\file name” root@123.123.123.123:/home

Помогла ли вам статья?

Спасибо за оценку. Рады помочь ��

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

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

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

Как скачать файл в 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 через терминал с помощью специальных утилит и консольного браузера. В обычной домашней системе нет большой необходимости для таких действий, но на сервере это может очень сильно помочь. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

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

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