Наша задача - научиться копировать файлы между компьютерами, объединенными в одну сеть и находящимися под управлением операционных систем семейства 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)
Комментарии
Оставить комментарий
Компьютерные сети
Термины: Компьютерные сети