Копирование файлов между компьютерами Unix или работа с SCP

Практика



Наша задача - научиться копировать файлы между компьютерами, объединенными в одну сеть и находящимися под управлением операционных систем семейства Unix, будь то Linux (Debian или CentOS, ubuntu или redhat) или BSD (например, FreeBSD).

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

Скачивать утилиту не нужно - она идет "из коробки" в таких ОС, как Linux Debian, ubuntu, CentOS, RedHat и FreeBSD.


Теперь покажем несколько основных примеров использования этой утилиты, на основе которых Вы можете легко научиться использованию SCP.

Стоить сразу оговориться - утилита SCP использует SSH для доступа к удаленному компьютеру, поэтому должны выполняться следующие условия:
  • На удаленном компьютере должна быть учетная запись, которую Вы будете использовать для копирования
  • Эта учетная запись должна иметь рабочую среду командной строки (bash/sh, nologin или false не подходят)
  • Эта учетная запись должна иметь право на запись в каталог, в который Вы копируете файл



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

$ scp mylocalfile username@192.168.0.1:/home/username/mydestfile

Здесь:
  • mylocalfile : имя и путь к файлу на этом компьютере, который Вы хотите копировать
  • username : Имя пользователя на удаленном компьютере
  • 192.168.0.1 : IP адрес или hostname удаленного компьютера
  • /home/username/mydestfile : путь на удаленном сервере и имя файла, куда будет скопирован локальный файл. Если имя файла не указывать - файл будет скопирован по указанному пути со своим локальным путем


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

$ scp username@192.168.0.1:/home/username/mydestfile ./mylocalfile

Как видно, ситуация обратная. Параметры те же.


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

$ scp myfile1 myfile2 myfile3 username@192.168.0.1:/home/username/

Как видно - здесь сначала идет перечисление файлов, которые нужно скопировать, а последним переметром - куда скопировать.


Рекурсивное копирование каталогов со всем их содержимым

$ scp /my/path/sourcedir/ username@192.168.0.1:/home/username/destdir/


В данном примере будет скопирована вся папка sourcedir и помещена внутрь папки destdir на удаленном компьютере. Т.е. на удаленном компьютере в папке destdir появится папка sourcedir со всеми своими файлами.


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

 

Актуально для: Любой Unix (Linux Debian/CentOS, FreeBSD)
 
создано: 2017-05-09
обновлено: 2021-03-13
1108



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии

Anders
20-02-2020
Маленькое уточнение: для копирования каталогов со всем их содержимым добавляется ключ -r, обычно оно требует права root'а. Либо sudo scp -r, для безопасного хулиганства.

Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Компьютерные сети

Термины: Компьютерные сети