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

В моей оболочке терминала я ssh'ed на удаленный сервер и I cd в каталог, который я хочу.

Теперь в этом каталоге есть файл с именем table, который я хочу скопировать на мой локальный компьютер /home/me/Desktop.

Как я могу это сделать?

Я попробовал scp table /home/me/Desktop, но дал ошибку об отсутствии такого файла или каталога.

Кто-нибудь знает, как это сделать?

144 голоса | спросил omega 5 MaramThu, 05 Mar 2015 05:30:57 +03002015-03-05T05:30:57+03:0005 2015, 05:30:57

5 ответов


245

Синтаксис для scp:

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

scp /file/to/send [email protected]:/where/to/put

Здесь remote может быть FQDN или IP-адресом.

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

scp [email protected]:/file/to/send /where/to/put

scp также может отправлять файлы между двумя удаленными хостами:

scp [email protected]_1:/file/to/send [email protected]_2:/where/to/put

Итак, основной синтаксис:

scp [email protected]:/location/to/file [email protected]:/where/to/put

Вы можете прочитать man scp , чтобы получить больше идей об этом.

ответил heemayl 5 MaramThu, 05 Mar 2015 05:45:46 +03002015-03-05T05:45:46+03:0005 2015, 05:45:46
10

Вы можете использовать rsync в качестве альтернативы. Это в основном для синхронизации файлов .. но вы также можете использовать его для этой цели.

rsync -avzh --stats --progress [email protected]  localpath 

добавить параметры ssh:

rsync -e "ssh -P $port_value" [email protected]  localpath

--progress и --stats полезны для отображения передачи в режиме реального времени.

ответил fugitive 14 Jam1000000amSat, 14 Jan 2017 01:29:03 +030017 2017, 01:29:03
5
scp [email protected]:pathtofile localsystempath

scp [email protected]:/home/demo/public_html/myproject.tar.gz .

Если вы используете порт:

scp -Pportnumber [email protected]:pathtofile localsystempath 

scp -P2233 [email protected]:/home/demo/public_html/myproject.tar.gz .
ответил Sadanand Kenganal 26 Maypm16 2016, 21:13:36
4
scp [email protected]:/root/Jmeter/reports.jtl Downloads/
ответил user135545 24 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 24 Sep 2015 08:52:32 +0300 2015, 08:52:32
2

Если вы полностью доверяете всем в сети, и вы можете напрямую подключить порт конечной машины, вы можете использовать netcat: nc.

Предположим, что IP-адрес конечного компьютера равен 192.168.1.123

В прогоне назначения:

nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir

Вы можете выбрать другой порт, а также привязать к другому IP-интерфейсу своих интерфейсов, 0.0.0.0 просто улавливает все интерфейсы.

В исходном запуске:

tar zxcf - filename | nc 192.168.1.123 7777

IMHO, это самый быстрый способ отправить файл с одного компьютера на другой с помощью цифровых сетей.

Параметры аргументов и командной строки могут незначительно меняться между различными версиями nc и tar, но это определенно будет работать с недавними дистрибутивами Linux.

ответил onur güngör 21 Maypm17 2017, 19:44:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132