Команда scp в Linux

Опубликовано admin - пн, 05/23/2022 - 13:13

Команда SCP (secure copy) предназначена в Linux для безопасного копирования файлов и каталогов между двумя компьютерами с шифрованием данных через соединение SSH (Secure Shell). 

Команда scp Linux

Содержание

Синтаксис

$ scp [опции] [пользователь@]хост:]файл1 [пользователь@]хост:]файл2

Основные опции

-B
Пакетный режим для передачи нескольких файлов
-C
Включение сжатия данных при их отправке на конечный компьютер
-P
Указание порта ssh удаленного хоста
-l
Ограничение скорости в кбит/сек
-p
Сохранение изменения файлов и времени доступа
-q
Подавление индикатора прогресса
-r
Рекурсивное копирование каталогов
-v
Подробный режим

Примеры использования

Копирование файлов из текущего каталога локального компьютера на удалённый сервер

oleg@mobile:~:$ scp ~/backgrounds/* mensh@139.162.132.20:/home/mensh/tmp/
mensh@139.162.132.20's password: 
jedi.jpg                                                                                              100%   66KB  52.2KB/s   00:01    
leopard-blue.jpg                                                                                      100%  144KB  19.7KB/s   00:07    
odd.jpg                                                                                               100%  160KB  29.9KB/s   00:05    
...

Если на удалённом сервере для прослушивания SSH-запросов, использован порт, отличный от порта 22 по умолчанию, то следует применить опцию –P и указать используемый порт

oleg@mobile:~:$ scp -P 1236 ~/backgrounds/* mensh@139.162.132.20:/home/mensh/tmp/

Рекурсивное копирование каталога и его подкаталогов с файлами с локального компьютера на удалённый сервер

oleg@mobile:~:$ scp -r /home/oleg/webprojects/hosting mensh@139.162.132.20:/home/mensh/tmp/
mensh@139.162.132.20's password: 
devel.config.html                                                                                     100%   63KB  47.3KB/s   00:01    
services.api.html                                                                                     100%   19KB  12.2KB/s   00:01    
wwwredirect.api.html                                                                                  100% 8083    29.3KB/s   00:00    
...

При копировании были созданы каталог hosting и его подкаталоги, в которые и были скопированы все файлы.

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

mensh@li1398-20:~$ scp mensh@139.162.132.20:/home/mensh/scripts/* ~/tmp/         
mensh@139.162.132.20's password: 
disconn                                                                                               100%  118   131.8KB/s   00:00    
visconn                                                                                               100%  497   708.1KB/s   
00:00

Конечно ничто не мешает вам копировать файлы и каталоги с одного удалённого сервера на другой. Выполняется это аналогично приведённым примерам.

Копирование больших файлов

Для копирования больших файлов рекомендуется запускать команду scp в терминальном мультиплексоре. Если операция прервётся, то мультиплексор позволит возобновить копирование с прерванного места.

Проверка наличия в системе мультиплексора, например tmux

mensh@li1398-20:~$ tmux -V
tmux 3.0a

Заключение

Из статьи становится ясным, что команда scp в Linux позволяет удобно и безопасно копировать данные с одной машины на другую не опасаясь их кражи. Использование утилиты не представляет особых сложностей.

Поделиться с друзьями