scp команда Linux

Некоторые пользователи для выполнения определённых задач создают сервер у себя дома или арендуют в интернете на различных хостингах. В ходе его эксплуатации может потребоваться перемещение файлов между машинами. Такой процесс должен быть максимально безопасным.

Стоит отметить, что между локально расположенными машинами можно перенести данные путем использования флеш-карты. Если у вас удаленный сервер, единственный способ перемещения – с помощью интернета. Реализовать такую задачу можно несколькими методами.

Как работает scp

Эта команда представляет собой специальную утилиту, способную работать только по протоколу SSH (Secure Shell). Главное требование для передачи информации с одного ПК на другой – запустить специальный север SSH. Пользователь должен иметь логин и пароль от сервера, так как без этой информации его запуск будет невозможен.

Команда дает возможность перемещать документы различного объема. Делать это можно не только между локальной и удаленной системой, но и между 2 удаленными серверами. Для осуществления мероприятия потребуется знать логины и пароли.

Синтаксис

scp [опции][что нужно копировать][куда копировать]

Утилита scp отличается высокой функциональностью. Она способна принимать на вход большое количество параметров, а также позволяет копировать отдельные файлы и директории. Они указываются в аргументе «что нужно скопировать».

При выполнении процедуры требуется обязательно указать, куда требуется перенести файлы и папки. Информация вводится в аргументе «куда нужно скопировать».

Два вышеописанных аргумента могут иметь различные пути – как локальный, так и удаленный. Есть возможность скопировать информацию с удаленного персонального компьютера на стационарный, а также осуществить процедуру с точностью до наоборот.

Аргументы «что нужно скопировать» и «куда нужно скопировать» имеют свой специфический синтаксис:

(имя пользователя)-(IP)-(путь к требуемому файлу или директории)

В данном случае «имя пользователя» - это логин, который используется при запуске специального сервера SSH. IP-адрес персонального компьютера или хоста. Именно на них или с них будут копироваться файлы и директории.

Для осуществления поставленной задачи можно воспользоваться специальными опциями, которые поддерживает утилита. Основные из них:

  • «-1» - запуск специального протокола SSH-1.
  • «-2» - запуск специального протокола SSH-2.
  • «-В» - включение пакетного режима, который дает возможность переместить одновременно несколько файлов и директорий.
  • «-С» - запуск опции сжатия.
  • «-I» - есть возможность установки ограничения скорости передачи (измеряется в кбит/сек).
  • «-О» - с помощью такой команды задается требуемая опция на сервере SSH.
  • «-Р» - это позволит сохранить время, когда прошла модификация.
  • «-R» - имеется возможность рекурсивного копирования нескольких директорий.
  • «-V» - запуск наиболее подробного режима эксплуатации утилиты SCP Linux.

Примеры

Стоит изучить главные направления, которые весьма актуальны при использовании команды scp.

Создание копий локальных файлов

К примеру, с помощью протокола SSH нужно скопировать  «file.dat» на ПК с IP-адресом 195.161.114.71 (в директорию «/home/user»). Для этого в командной строке потребуется ввести:

scp file.dat root@195.161.114.71: /home/user

Чтобы не вводить IP-адрес сервера, можно указать доменное имя.

scp file.dat root@vseprolinux.ru: /home/user

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

В данном случае требуется ввести информацию с точностью до наоборот

scp root@vseprolinux.ru: /home/user/file.dat

Создание копии папки

К примеру, требуется перенести директорию «/var/log/exim4» с локального к удаленному компьютеру «/home/user/copia».

В данном случае потребуется использование опции «-R». Необходимо ввести в командной строке

scp –R /var/log/exim4 root@vseprolinux.ru: /home/user/copia

Копирование файлов или папок совместно со сжатием данных

Скорость передачи информации можно существенно увеличить. Для этих целей потребуется воспользоваться опцией «-С», которая в ускоренном темпе уменьшит вес транспортируемых файлов.

В терминале вводим:

scp -C file.dat root@vseprolinux.ru: /home/user/copia

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

man scp