Если вы можете выразить все имена файлов, которые вы хотите скопировать из удаленной системы, с помощью одного шаблона glob, то вы можете сделать это с помощью одной команды scp
.Это использование будет поддерживать только одну папку назначения в локальной системе для всех файлов.Например:
scp 'RemoteHost:/tmp/[abc]*/*.tar.gz' .
копирует все файлы из удаленной системы с именами (something).tar.gz
и расположенные в подкаталогах /tmp
, имена которых начинаются с a
, b
илиc
.Одинарные кавычки предназначены для защиты шаблона глоба от интерпретации из оболочки в локальной системе.
Если вы не можете выразить все файлы, которые хотите скопировать, как один шаблон глобуса, и вы все еще хотите, чтобы копия былаВы можете использовать одну команду (и одно SSH-соединение, которое будет запрашивать ваш пароль только один раз), тогда вы можете либо:
- Использовать команду, отличную от
scp
, например sftp
или rsync
или - Откройте главное соединение SSH с удаленным хостом и выполните несколько команд scp в качестве подчиненных этого мастера.Подчиненные устройства будут подключаться к основному соединению, которое остается открытым и не будет запрашивать пароль.Ознакомьтесь с основными и подчиненными соединениями на странице ssh.