Используйте -r
(рекурсивный) флаг:
get -r *
Я только учусь использовать sftp и хочу скопировать каталог с удаленного компьютера на мой локальный компьютер. Если я попробую
get [directory]
это дает мне эту ошибку:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
тоже не работает.
Используйте -r
(рекурсивный) флаг:
get -r *
Использование:
scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
Используйте lftp
:
lftp sftp://user@host
Затем, внутри lftp, cd
в каталог, который вы хотите скопировать, и используйте mirror
команду для рекурсивной загрузки выбранного каталога, например:
mirror
Эта команда принимает параметры и аргументы:
зеркало [ ОПЦИИ ] [ источник [ цель ]]
Например, опция -R
(или --reverse
) приведет к загрузке дерева локальных каталогов в удаленный каталог:
mirror -R
Смотрите lftp(1)
страницу руководства на сайте проекта или на Debian.org для других команд и опций.
Не используйте программу sftp напрямую, если вы можете найти что-то лучшее. Для Linux многие файловые менеджеры (по крайней мере, Nautilus и Dolphin, GNOME и KDE) изначально поддерживают sftp, и всегда есть sshfs. Для Windows есть WinSCP и, возможно, другие . Смысл всего этого в том, чтобы позволить вам получать доступ к файлам через sftp, как если бы они были на обычном файловом элементе, поэтому вам не нужно заботиться о том, чтобы вы обращались к ним через sftp.
Попробуй mget
вместо get
.
Уточнение: mget
будет работать, если вы находитесь в каталоге, который хотите скопировать; если вы делаете что-то вроде этого:
sftp> cd dir_to_get sftp> mget *
он получит все файлы в этом каталоге. Однако он не будет рекурсивно получать содержимое каких-либо подкаталогов.
хорошо это маленькое руководство должно помочь, зеркалировать удаленный сервер в локальную папку с помощью lftp
lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
sftp://
= использует протокол SFTPmirror
= режим зеркалаverbose
= показывает загружаемые файлыuse-pget-n
= количество сегментов, действительно полезно для ускорения больших файловparallel
= загружает файлы множителя одновременноесли вы хотите, чтобы загрузить файлы в параллельном переключателе из use-pget-n=8
с--parallel=8
надеюсь, это поможет всем, кому нужно зеркалировать удаленную папку в локальную папку
get -r [directory]
попадает [directory]
и все под него, где r
стоит рекурсивный. Я нашел это, просто набрав help
с sftp
.
Как с cp
:
scp -rp user@host:/path/to/dir dir
Вышеуказанное сохранит время и режимы исходных файлов и подкаталогов. Это особенно полезно для поиска резервных копий.
У меня есть папка Java dist на удаленном сервере, где у меня есть следующее дерево:
- dist --- Audio.jar --- README --- lib ----- lib.jar
Цель: я хочу использовать SFTP? И поместите их в / tmp / <>
Шаг 1. sftp remoteuser @ ip
Шаг 2. cd / var / tmp
Шаг 2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib
Шаг 3. Жк / тм / дист
Шаг 4. mget *
Шаг 5. lcd / tmp / dist / lib
Шаг 6. Mget *
Шаг 7. наконец у меня есть цель
$ ls Audio.jar lib README.TXT