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


39

У меня Ubuntu 10.04 работает через VMPlayer. И у меня есть другая машина (маршрутизатор Asus RT-N16). Я могу подключиться к маршрутизатору через telnet и посмотреть его файловую систему. Как я могу скопировать файл с локального компьютера (файл / home / user / helloworld-c ) на маршрутизатор (папка * / tmp / mnt / discb_1 *)?

Ответы:


77

Есть ли возможность подключиться через SSH? Может быть, вы должны рассмотреть "scp" utitlity. Это очень просто, посмотрите на страницу руководства :

man scp

Самое основное использование:

scp remote_user@remote_host:/path/to/remote/file /path/to/local/file

наоборот:

scp /path/to/local/file remote_user@remote_host:/path/to/remote/file

Спасибо, это работает! Как я могу сделать то же самое со всей папкой?
LA_

4
Используйте параметр "-r": scp -r user @ host: / path / file / path / local. Пожалуйста, отметьте ответ как принятый, если он работает.
Павел С.

Просто посмотрите страницу руководства для scp (в терминале наберите "man scp"). Вариантов намного больше.
Павел С.

Как я могу копировать папки также с файлами, эта команда просто копирует только файлы
amit_game

@LA_ вы можете заархивировать все файлы.
Сильвио Дельгадо

12

Чтобы скопировать непустой каталог с удаленного компьютера на ваш компьютер:

scp -r remoteusername@192.168.1.56:/home/vrc/Desktop/www /home/ourusername/Desktop

Чтобы скопировать файл, просто исключите -rопцию:

scp remoteusername@192.168.1.56:/home/vrc/Desktop/file1 /home/ourusername/Desktop

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


10

Другой способ сделать это: (через файл pem)

Если вы хотите использовать pemфайл и вы ROOTпользователь:

1. пользователь root:

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt root@00.00.00.11:/you-server-destination-path/

обратите внимание на двоеточие :между сервером IPи целевым путем.

если я не могу войти с rootпользователем, см. шаг 2.

2. стандартный пользователь:

Предположим, вы ubuntuпользователь со стандартными привилегиями.

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt ubuntu@00.00.00.11:/home/ubuntu/

это поместит файл в домашний каталог. затем войдите на удаленный сервер со стандартным пользователем. и делай

sudo su

Вы переключитесь на rootпользователя. затем переместите файл в каталог назначения

mv /home/ubuntu/your-local-file.txt /you-server-destination-path/your-local-file.txt

Я часто сталкиваюсь с этой проблемой, поэтому делюсь альтернативным способом сделать работу!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.