Я на машині A і хочу витягнути файл з машини B.
A$ scp <myuserid>@hostB:<path of file in B> .
там сказано, що:
scp: <path of file in B>: No such file or directory
Але на машині B цей файл існує на цьому шляху.
Що йде не так?
Я на машині A і хочу витягнути файл з машини B.
A$ scp <myuserid>@hostB:<path of file in B> .
там сказано, що:
scp: <path of file in B>: No such file or directory
Але на машині B цей файл існує на цьому шляху.
Що йде не так?
Відповіді:
Ви не вказали жодного файлу: ви повинні додати файл (із шляху) після двокрапки:
A$ scp <myuserid>@hostB:/absolutepath/file .
або
A$ scp <myuserid>@hostB:relativepath/file .
для шляху відносно вашого домашнього каталогу.
Якщо ви не вказали іншого користувача (тобто, користувачі на A і B однакові), вам це не потрібно @
A$ scp hostB:/path/file .
$ scp username@remoteip:remote_location_file /location/where/you/save
Це працює лише при копіюванні файлу. якщо ви хочете скопіювати використання каталогу
$ scp -r username@remoteip:remote_location_directory /location/where/you/save
Варіант, який ви можете використовувати на вашу вимогу
-P порт
Вказує порт для підключення до віддаленого хоста. Зауважте, що цей параметр записується з великої літери "P", оскільки -p вже зарезервований для збереження часу та режимів файлу в rcp.
-p
Зберігає час модифікації, час доступу та режими з вихідного файлу.
-r
Рекурсивно копіювати цілі каталоги.
-в
Докладний режим. Викликає scp і ssh для друку налагоджувальних повідомлень про їх хід. Це корисно для налагодження проблем з підключенням, автентифікацією та конфігурацією.
використовувати належний scp шлях
scp ssh://user@hostname/tmp/foo.txt .
Ви можете вказати або шлях до файлу, який відповідає вашому домашньому каталогу, або абсолютний шлях до файлу. Наприклад, якщо ви foo.txt
перебуваєте в каталозі, який називається docs
під вашим домашнім каталогом, і ви bar.txt
перебуваєте в /var/tmp
, ви можете це зробити
scp username@host.example.com:docs/foo.txt .
scp username@host.example.com:/var/tmp/bar.txt .
Зауважте, що якщо ім'я файлу містить символи, спеціальні для віддаленої оболонки (як правило, пробіли або !"#$&'*;<>?[\]^`{|}~
), вам потрібно уникнути їх для віддаленої оболонки на додаток до того, щоб уникнути їх для локальної оболонки. Наприклад, якщо файл викликається foo bar.txt
і знаходиться у вашому домашньому каталозі:
scp username@host.example.com:'foo\ bar.txt' .
Якщо у вас виникли труднощі з файлами, що містять розділові знаки, спробуйте використовувати sftp
замість того, scp
щоб передати їх. Або скористайтеся ще більш зручним методом, якщо ви можете використовувати FUSE : змонтуйте файлову систему віддаленої машини за допомогою sshfs , а потім використовуйте звичайні команди управління файлами.
mkdir host.example.com
sshfs username@host.example.com:/ host.example.com
cp host.example.com/path/to/file .
Можна SCP і в обидві сторони легко, якщо у вас є користувач DMZ та пароль. Ви знаходитесь на локальній машині: від DMZ до локальної машини Linux (тягніть). Значить скопіювати abc.text всередині папки2 у поточну реєстраційну програму PWD.
scp user@111111:folder1/folder2/abc.txt .
Він запитає пароль
це все
Тепер ви хочете, щоб надіслати папку, підпапки та файли з вашої локальної машини в DMZ:
usr @ localmachine: ~ / abc / defs> scp -r папка / usr @ 111111: vkrishna / docker /
знову буде запропоновано пароль
: - це коренева папка віддаленої машини, а vkrishna - це папка там і знову підпапка docker. Місцева папка defs має папку під назвою "папка", яку ми хочемо повністю перенести.
Як / abc / defs / папка