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

У Вас есть доступ для чтения на a.txt, таким образом, энергия может открыть его. Это должно указать, что файл только для чтения, и предупредите Вас, когда Вы начинаете вносить изменения (но все еще позвольте Вам редактировать буфер в оперативной памяти).

Когда Вы пытаетесь сохранить его, у Вас нет разрешения записи так сбои сохранения. Можно, конечно, сказать энергии сохранять его к другому имени файла/каталогу, где у Вас действительно есть разрешение записи.

254
13.01.2017, 23:36
6 ответов

Синтаксис для SCP :

Если вы на компьютере, из которого вы хотите отправить файл на удаленный компьютер:

scp /file/to/send username@remote:/where/to/put

здесь Удаленный может быть FQDN или IP-адрес.

С другой стороны, если вы находитесь на компьютере, желая получить файл с удаленного компьютера:

scp username@remote:/file/to/send /where/to/put

SCP также может отправлять файлы между двумя удаленными хостами:

scp username@remote_1:/file/to/send username@remote_2:/where/to/put

, поэтому основной синтаксис:

scp username@source:/location/to/file username@destination:/where/to/put

Вы можете прочитать Человек SCP , чтобы получить больше идей на этом.

413
27.01.2020, 19:27
scp root@10.240.179.4:/root/Jmeter/reports.jtl Downloads/
12
27.01.2020, 19:27
scp username@ipaddress:pathtofile localsystempath

scp sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .

Если вы используете порт:

scp -Pportnumber username@ipaddress:pathtofile localsystempath 

scp -P2233 sadananad@ipaddress:/home/demo/public_html/myproject.tar.gz .
9
27.01.2020, 19:27

В качестве альтернативы можно использовать rsync . Он в основном предназначен для синхронизации файлов ... но вы можете использовать его и для этой цели.

rsync -avzh --stats --progress remoteuser@remoteip:/path/  localpath 

для добавления параметров ssh:

rsync -e "ssh -P $port_value" remoteuser@remoteip:/path/  localpath

- progress и - stats полезны для отображения передачи в реальном времени.

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

15
27.01.2020, 19:27

Если вы полностью доверяете всем в сети и можете напрямую подключить порт машины назначения, вы можете использовать netcat: nc.

Допустим, IP-адрес машины назначения 192.168.1.123

На машине назначения:

nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir

Вы можете выбрать другой порт, а также привязываться к другому IP-адресу ваших интерфейсов, 0.0.0.0 просто цепляется все интерфейсы.

Об исходниках:

tar zxcf - filename | nc 192.168.1.123 7777

ИМХО, это самый быстрый способ переслать файл с одного компьютера на другой по цифровым сетям.

Аргументы и параметры командной строки могут немного различаться в разных версиях nc и tar, но они определенно будут работать с последними дистрибутивами Linux.

4
27.01.2020, 19:27

В Linux, чтобы скопировать папку и ее содержимое из корневого каталога пользователя (в этом примере каталога )в папку в локальном каталоге пользователя, я запускаю эту команду на локальном компьютере:

scp -r root@178.62.54.83 :~/folderinremoteuserdir ~/folderinlocaluserdir

Обратите внимание на ~/ которое я часто забываю...

3
27.01.2020, 19:27

Теги

Похожие вопросы