ssh user@host "cd targetdir; tar cfp - *" | dd of=file.tar
Команда ssh user@host "cd targetdir; tar cfp - *" | dd of=file.tar
выполняет следующее:
— Устанавливает SSH-соединение с удаленным хостом (user@host
).
— На удаленном хосте переходит в директорию targetdir
.
— Архивирует все файлы и папки в текущей директории с помощью tar
, используя опцию cfp
, и выводит архив в стандартный вывод (stdout).
— Затем, с использованием конвейера (pipe), передает этот архив в команду dd
.
— Команда dd
записывает данные из stdin в файл file.tar
на локальной машине.
Эта команда полезна для передачи больших файлов или папок через SSH без необходимости сохранять временный архив на удаленном хосте. Альтернативой может быть использование scp
для копирования файлов через SSH, но она требует дополнительного дискового пространства на удаленном хосте.