Похожие вопросы

Автоматически генерировать имя файла с помощью bash
Комментарии в многострочной команде bash
Excel; экспорт / импорт различных столбцов в различные файлы csv
Запуск jpegoptim в cronjob раз в неделю, на CentOS из cPanel, только для файлов, добавленных в течение прошлой недели?
gnu parallel: пересылать все stdin во все процессы
Почему я получаю "rvm: команда не найдена" на Ubuntu?
Использование systemd для выполнения интерактивного сценария (whiptail) после многопользовательского.цель, но до экрана входа в систему
Как правильно создать символическую ссылку?
Массовая очистка параметров URL из txt-файла
Как заставить Network Manager повторно сканировать соединения?
Где хранить скрипты bash, которые все пользователи могут выполнять в Debian?
Удалить расширение файла case-insentively in Bash
Баш - преобразовать все экземпляры формат даты ДД-ММ-гггг гггг-ММ-ДД [закрыт]
Добавление пользовательских строк в файл с помощью shell-скрипт
Нет такого файла или каталога после ввода $PATH в терминале

Копирование нескольких файлов в Linux

у меня есть Linux-машина с папок численно. Как безопасно скопировать диапазоны этих папок на другой сервер? Исходный компьютер запускает tcsh, целевой bash. На данный момент из каталога, содержащего данные, которые я хочу скопировать, я использую следующую команду:

scp -r [2042-2046] user@target:home/user/destination_folder

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

scp -r 2042 user@target:home/user/destination_folder

однако, это будет означать повторение команды scp 5 раз и ввод пароля каждый раз, что кажется очень неэффективным, особенно для больших диапазонов.

5
задан 218
источник

3 ответов

серии

[2042-2046]

интерпретируется как файл 2 и файл 6.

ниже приведен требуемый диапазон:

204[2-6]
1
отвечен 218 2014-10-27 10:42:55
источник

вы можете использовать поток tar через SSH:

tar cvf --include='204[2-6]' - . | ssh user@target "cd /home/destination/folder; tar xvf -"
0
отвечен Fegnoid 2014-10-27 11:41:40
источник

используйте bash фигурные скобки выражение:

scp -r {2042..2046} user@target:home/user/destination_folder

обратите внимание, что расширение скобки происходит до расширение параметра, поэтому вы не можете написать это:

start=2042
end=2046
scp -r {$start..$end} user@target:home/user/destination_folder

без eval

0
отвечен glenn jackman 2014-10-27 15:18:20
источник

Другие вопросы bash linux scp tcsh