Команда SCP (secure copy) предназначена в Linux для безопасного копирования файлов и каталогов между двумя компьютерами с шифрованием данных через соединение SSH (Secure Shell).
Содержание
Синтаксис
$ 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 позволяет удобно и безопасно копировать данные с одной машины на другую не опасаясь их кражи. Использование утилиты не представляет особых сложностей.