2015-06-23 4 views
-3

На компьютере с IP-адресом, например 10.11.12.123, у меня есть папка document. Я хочу скопировать эту папку в свою локальную папку /home/my-pc/doc/ с помощью оболочки.копировать каталог с другого компьютера на Linux

Я пытался так:

scp -r smb:10.11.12.123/other-pc/document /home/my-pc/doc/ 

, но это не работает.

+0

дайте мне знать другую машину os, пожалуйста –

+0

та же ОС (Linux) –

+2

Поскольку они оба являются ящиками Linux, нет необходимости в 'smb'. Вам нужно застраховать 'sshd' работает на' 10.11.12.123', чтобы обеспечить безопасное соединение. Тогда 'rsync' - ваш друг (узнайте его). 'rsync -uav 10.11.12.123:/other-pc/document/home/my-pc/doc /' ** Примечание: ** no '/' после 'document' (который скопировал бы содержимое вместо каталога и содержимого) Если вы хотите использовать 'scp', тогда' scp -rv 10.11.12.123:/other-pc/document/home/my-pc/doc/' –

ответ

0

Если вы указали два каталога (document и /home/my-pc/doc/), вы упомянули о том же 10.11.12.123 машине.

затем:

cp -ai document /home/my-pc/doc/

еще:

scp -r document/ [email protected]:/home/my-pc/doc/

+0

Между тем, второе решение всегда работает либо в двух каталогах на одном хосте, либо нет. – Will

3

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

УПП источник -r назначения

(-r: -r Рекурсивно копировать целые каталоги.)

например:

scp -r [email protected]:/other-pc/document /home/my-pc/doc 

Для определения местоположения можно использовать PWD команду.

например:

[email protected]:~/Downloads$ pwd 
/home/kasun/Downloads 
+0

[email protected]/other-pc/document - это имя компьютера? –

+0

[email protected] в этом пользователе регистрирует имя пользователя для другого ПК –

0

В дополнении к замечанию, когда вы смотрите на ваш хост-хост параметры копирования на Linux сегодня, rsync на сегодняшний день, наиболее надежным решение вокруг. Он представлен вам командой SAMBA [1] и продолжает активно развиваться. В большинстве дистрибутивов по умолчанию используется пакет rsync. (если нет, вы должны найти легко устанавливаемый пакет для своего дистрибутива или загрузить его с rsync.samba.org).

Основное использование rsync для хост-узел каталога является копией:

$ rsync -uav srchost:/path/to/dir /path/to/dest 

-uav просто рекурсивно копирует -ua только новые или измененные файлы, сохраняющие файлу & раз каталогов и разрешения, обеспечивая -v подробный вывод. Вам будет предложено ввести имя пользователя/пароль на 10.11.12.123, если ваши не имеют настройки ssh-keys, чтобы аутентификация открытый/закрытый ключ (см ssh-keygen для генерации ключей)

Если вы заметили, что синтаксис в основном те же, что и для scp с небольшая разница в параметрах: (например, scp -rv srchost:/path/to/dir /path/to/dest). rsync будет использовать ssh для безопасного транспорта по умолчанию, поэтому вам нужно будет застраховать sshd на вашем srchost (10.11.12.123 в вашем случае). Если у вас работает разрешение имен (или простая запись в /etc/hosts для 10.11.12.123), вы можете использовать имя хоста для удаленного хоста вместо удаленного IP.Независимо от того, вы всегда можете передавать файлы, которые вы заинтересованы в с:

$ rsync -uav 10.11.12.123:/other-pc/document /home/my-pc/doc/ 

Примечание: не включают заднюю / после document, если вы хотите скопировать сам каталог. Если вы включаете заднюю / после document (т.е. 10.11.12.123:/other-pc/document/) вы говорите rsync, чтобы скопировать содержимое (т.е. файлы и каталоги в) document к 10.11.12.123:/other-pc/ без также скопировать каталог document.

Причина, по которой rsync намного превосходит другие приложения для копирования, предоставляет возможности по-настоящему синхронизировать файловые системы и деревья каталогов как локально, так и между локальной машиной и удаленным хостом. В вашем случае, если вы использовали rsync для передачи файлов на /home/my-pc/doc/, а затем внести изменения в файлы или удалить файлы на 10.11.12.123, вы можете просто позвонить rsync и внести изменения/удаления, внесенные в /home/my-pc/doc/. (Смотреть на несколько ароматов --delete вариант для деталей в rsync --help или в man 1 rsync)

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

Сноски

[1] те же самые люди, что «открытые окна в широкий мир», позволяющий аналоговый или цифровой связи между окнами хозяйничает/Linux через (SMB) протокола родные окна сообщений сервера блока. samba.org

0

Если вы хотите скопировать от В к А, если вы вошли в B: то

scp /source [email protected]:/destination 

Если вы хотите скопировать от В к А, если вы вошли в A: то

scp [email protected]:/source /destination 
Смежные вопросы