Примеры использования синтаксиса scp

30.11.2010, рубрики: FreeBSD, Linux, Ubuntu | Теги: , | 100 комментариев »

Cкопируем файл «testfile.txt» с удаленного хоста на локальный:

1
$ scp username@remotehost.ru:testfile.txt /local/directory

В данном случае можно воспользоваться вместо /local/directory той же ~ для обозначения домашнего каталога.
Скопируем файл «testfile.txt» с локального хоста на удаленный:

1
$ scp testfile.txt username@remotehost.ru:/remote/directory

Тоже самое касаемо ~ в качестве домашней директории пользователя на удаленном хосте – этот знак можно использовать вместо /remote/directory
Скопируем директорию «localdir» со всем ее содержимым с локального хоста в директорию «remotedir» на удаленном компьютере:

1
$ scp -r localdir your_username@remotehost.ru:/remote/directory/remotedir

Безопасно скопируем файл «testfile.txt» с одного удаленного хоста под названием «remotehost1.ru» на удаленный компьютер под названием «remotehost2.ru»:

1
$ scp username@remotehost1.ru:/remote/directory/testfile.txt username@rh2.ru:/remote/directory/

Скопируем файлы test.txt и file.txt с локального компьютера в свою домашнюю директорию на удаленном хосте:

1
$ scp test.txt file.txt username@remotehost.ru:~

Скопируем несколько файлов test1.txt, test2.txt, test3.txt с удаленного хоста в свою домашнюю директорию локального компьютера:

1
$ scp username@remotehost.ru:/remote/directory/\{test1.txt,test2.txt,test3.txt\} ~

По поводу производительности scp: по умолчанию scp использует алгоритм Triple-DES для шифрования передаваемых данных, но если использовать Blowfish, то можно добиться более высокой скорости передачи данных. Для этого нужно добавить ключ -c blowfish:

1
$ scp -c blowfish testfile.txt username@remotehost.ru:~

Также для повышения скорости передачи данных рекомендуется использовать компрессию (сжатие). За это отвечает ключ -C, но, конечно же, увеличится нагрузка на процессор.
Пример использования scp с шифрованием алгоритмом blowfish и компрессией данных:

1
$ scp -c blowfish -C local_testfile.txt username@remotehost.ru:~