Ситуация : у меня 2 компьютера: Pc_A и Pc_B . Я также использую соединение SSH , которое идет от A к B .
Моя проблема : у меня есть папка, сохраненная на рабочем столе Pc_A , и мне нужно скопировать ее на рабочий стол Pc_B через терминал. Дело в том, что как только я открываю терминал на Pc_A и подключаюсь к Pc_B , я больше не могу передавать данные с одного компьютера на другой .. .
Вопрос : кто-нибудь знает, что делать в таком случае?
Вы можно использовать scp
:
Когда вы находитесь на плате:
scp -r ваше_имя_пользователя @ ip_address_of_PCA: /путь/к/удаленному/каталогу/пути/к/локальному/каталогу
На ПК A вместо подключения к ПК B по ssh просто запустите
rsync/path/to/local/ file username @ PCB:/path/to/remote/destination
Вы также можете использовать scp
вместо rsync с аналогичным форматированием для остальных строки, но я предпочитаю rsync, поскольку он более мощный и (я думаю) проверяет после копирования. См. man rsync
для получения дополнительных сведений. N.B. что на удаленном компьютере также должен быть установлен rsync
(см. комментарии neon_overload), иначе scp
будет предпочтительнее.
Если установленный на обоих компьютерах, rsync
будет использовать вычислительную мощность обоих. Например, он может сжимать файлы перед передачей, используя флаг -z
.
-
Дополнительная информация: это работает, потому что rsync может передавать по SSH на другие компьютеры, на которых установлен rsync:
PCB:
означает удаленное соединение через SSH. — thomasrutter 13 дек. ’14 в 1:30 -
@neon_overload Я думал, что установка
rsync
на удаленном компьютере не обязательна, но если бы это было так, то это потенциально могло бы ускорить передачу. Хотя я не могу найти ссылку. — Sparhawk, 13 дек. ’14 в 1:33 -
Стандартно для rsync быть в любой системе и доступно только с помощью команды «rsync», так что обычно он «просто работает». Он подключается через SSH, запускает rsync в удаленной системе с помощью команды «rsync», а затем процессы rsync на каждом конце связываются друг с другом через уже открытое SSH-соединение. Все это работает настолько прозрачно для пользователя, что это обманчиво просто, но вы получаете выгоду от процесса rsync на каждом конце, чтобы сравнивать размеры файлов, время модификации и вычислять контрольные суммы для сохранения передачи данных. — thomasrutter 13 дек. ’14 в 10:55
-
FWIW это говорит, что «rsync» должен быть в пути выполнения вошедшего в систему пользователя на удаленном компьютере. troy.jdmz.net/rsync — thomasrutter 13 дек. ’14 в 10:56
-
2Справедливый вопрос, поэтому я просто попытался удалить rsync на удаленном компьютере и попытаться выполнить rsync с ним. Я получаю:
bash: rsync: команда не найдена rsync: соединение неожиданно закрыто (получено 0 байт) [отправитель] ошибка rsync: удаленная команда не найдена (код 127) в io.c (605) [отправитель = 3.0.9]
. Замена rsync на удаленной машине устранила это. — thomasrutter 13 дек. ’14 в 11:14
На ПК A вместо подключения к ПК B по ssh просто запустите
rsync/path/to/local/file username @ PCB:/path/to/remote/destination
Вы могли также используйте scp
вместо rsync с аналогичным форматированием для остальной части строки, но я предпочитаю rsync, поскольку он более мощный и (я думаю) проверяет после копирования. См. man rsync
для получения дополнительных сведений. N.B. что на удаленном компьютере также должен быть установлен rsync
(см. комментарии neon_overload), иначе scp
будет предпочтительнее.
Если установленный на обоих компьютерах, rsync
будет использовать вычислительную мощность обоих. Например, он может сжимать файлы перед передачей, используя флаг -z
.