Как скопировать файлы по ssh?

(Update: Если вы пришли с поиска и вам действительно нужно узнать, как скопировать файлы по ssh, то не читайте дальше эту заметку, а читайте “Как же все-таки скопировать файлы по ssh?“).

Я понимаю, что “многие вещи нам не понятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий”. Но все равно, уж очень забавно.

Суть. На topcoder в новом типе соревнований в одном задании в итоге нужно выложить файлы на сервер. Сервер с Linux. Людям дали ssh-доступ, рассказали в картинках, как залогиниться из-под Windows при помощи putty. Но вот что дальше с этим делать, как скопировать файлы на сервер? Задача очень сложная, и пользователи делятся решениями на форуме:

We use vi editor to edit files on server:

One way of updating code:

copy data from desktop file using cntrl+c

––-Login to VM ––––––—
open file using command: vi index.html
switch to command mode: ctrl+[
delete existing code: 1000dd // delete thousan lines of code starting from line-1
paste modified code: p or mouse right-click
save and exit: :wq // colon “:” are part of the command.


The user must understand that there are two modes in vi editor.

1. insert mode: to type your code or text data

========================================================================

2. command mode: to execute below mentioned commands


ctrl+[ = switch to command mode
:q = to quit application
:q! = to quit without saving
:wq = to save and quit
d = to delete a single char
dd = to delete a line

[count]dd = to delete mutiple lines; usage: 300dd to delete 300 line from cursor


p = to paste contents

========================================================================

i = to toggle to insert mode

========================================================================

When u want to edit a file type: vi filename e.g.: vi index.html
to recover a file type: vi -r filename

========================================================================

I hope this may help many new users!
Напомню, это все для того, чтобы скопировать файлы на сервер.
Причем использовать “команду vi” для этих целей посоветовал один из организаторов соревнования.
Add post to:   Delicious Reddit Slashdot Digg Technorati Google
Make comment

Comments

foxthrot 3.08.2009 12:38

winscp умеет передавать файлы по протоколу ssh

Сергей Дымченко 3.08.2009 14:19

Я-то об этом знаю, хотя Windows практически не пользуюсь.

Суть поста в том, что люди делают через жопу и других учить берутся, даже не задумываясь о том, что что-то здесь явно не так и стоит может в google ввести что-то типа “windows ssh file copy”.

Молодцы, это они так ненавязчиво подсаживают людей на вим :)

Сергей Дымченко 3.08.2009 14:22

Хорошо, что в этом задании пару всего файлов надо скопировать. А если б пару десятков?

Да и так с двумя файлами можно vim вместе с Linux возненавидеть, там тестировать надо на сервере и копировать часто.

Зато можно работать с файлами прямо на сервере и ничего не копировать.

Повеселился, спасибо :D

Когда лень использовать scp, на помощь приходит zip + base64 + nano :-) Оказывается быстрее, чем вводить длинные пути и пароли.

Required. 30 chars of fewer.

Required.