Реклама ООО Таймвэб
Реклама ООО Таймвэб

Копирование файлов с помощью команды SCP

Обсудить

Передача файлов на удаленный сервер невозможна при помощи обычной физической флешки или другого устройства хранения данных, поэтому пользователям приходится использовать сетевые методы копирования и перемещения объектов. При этом важно выбрать безопасный вариант, реализация которого не займет много времени.

Один из самых надежных способов – использование консольной утилиты SCP в Linux, о которой и пойдет речь далее.

Необходимость в SSH-сервере

Перед началом разбора необходимо остановиться на таком понятии, как SSH-сервер. Он необходим для работы SCP в Linux, поскольку утилита использует именно этот протокол. Вам понадобится установить SSH-протокол и настроить его. Кроме того, важно знать пароль или ключ для подключения, о чем более детально читайте в статье по следующей ссылке.

Подробнее: Как подключиться к серверу по SSH с помощью пароля или ключа

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться

Синтаксис и использование утилиты SCP

$ scp options user@хост1:файл user2@хост2:file

Это общий синтаксис утилиты, который необходимо использовать при вводе команды в Терминале, чтобы она выполнилась успешно и обработала ваш запрос. Как видно, ничего в этом трудного нет, однако нужно подробнее разобрать доступные опции (они же options в строке синтаксиса):

  • -1 – в этом случае используется протокол SSH1;

  • -2 – то же самое, но с версией SSH2;

  • -B – активация пакетного режима, когда нужно передать сразу пачку файлов;

  • -C – использовать сжатие при отправке;

  • - l – установка ограничения в кбит/сек (значение задается пользователем вручную);

  • -o – добавление опций SSH;

  • -p – сохранение времени изменений файлов;

  • -r – использование рекурсивного копирования папок;

  • -v – переход в более развернутый режим.

Некоторые из перечисленных опций, возможно, пригодятся вам в работе, поэтому рекомендую запомнить их или где-то сохранить с понятными для вас пометками, чтобы знать, когда и что использовать. Далее я развернуто расскажу о популярных опциях и их практическом применении.

Выбор пользователя

scp /home/user/file root@timeweb:/root/

Так выглядит стандартное копирование файлов SCP без применения дополнительных опций. То есть вы указываете путь к файлу (user замените на свое имя пользователя), затем добавляете путь назначения. Одно важное замечание: у пользователя должно быть разрешение на запись в указанную папку, иначе операция прервется.

Обычное копирование файла при помощи утилиты SCP

Копирование директории

Если вы ознакомились с описанным выше списком опций, то уже знаете, что SCP предлагает передачу целых директорий с использованием опции -r. В таком случае строка в Терминале обретает вид:

scp -r /home/user/photos root@timeweb:/root/

Копирование папки при помощи утилиты SCP

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

scp -r /home/user/photos/* root@timeweb:/root/

Только не забудьте изменить путь к файлу и место назначения. Как видно, добавилась только косая черта после последней директории и значок *, обозначающий копирование всех элементов.

Копирование всех файлов в папке SCP

Копирование с сервера на компьютер

Предыдущие три команды позволяли передавать файлы с локального компьютера на удаленный сервер, однако утилита поддерживает и обратное направление. В таком случае написание команды в консоли немного меняется и обретает примерно такой вид:

scp root@timeweb:/root/file /home/user/

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

Мы просто поменяли местами пути в команде. Вы можете использовать все те же опции, осуществляя копирование с разными атрибутами или передавая целые каталоги.

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

scp root@timeweb:/home/root/index.html root@timeweb:/home/root/www/
При вводе команд обращайте внимание на одну деталь: путь к директории, в которую вы копируете данные, обязательно должен заканчиваться косой чертой, иначе произойдет перезапись файлов, и вы потеряете данные, хранящиеся в конечной папке.

Это была общая информация об утилите SCP, которая поможет скопировать файлы с компьютера на удаленный сервер либо перенести их между удаленными серверами. Используйте опции и не забывайте проверять пути, чтобы случайно не перезаписать важные файлы.

VDS Timeweb арендовать

echo -e "Все про серверы, сети, хостинг и еще раз серверы" >/dev/pts/0

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте