Я только учусь использовать sftp и хочу скопировать каталог с удаленного компьютера на мой локальный компьютер. Если я попробую
get [directory]
это дает мне эту ошибку:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
тоже не работает.
Ответы:
Используйте
-r
(рекурсивный) флаг:источник
get: Invalid flag -r
-r
флаг не существовал. Ваша система обновлена?Использование:
источник
scp -r
. Или вы можете использовать продвинутый SFTP-клиент, такой как Filezilla.sftp
, но не разрешатьscp
доступ.Используйте
lftp
:Затем, внутри lftp,
cd
в каталог, который вы хотите скопировать, и используйтеmirror
команду для рекурсивной загрузки выбранного каталога, например:Эта команда принимает параметры и аргументы:
Например, опция
-R
(или--reverse
) приведет к загрузке дерева локальных каталогов в удаленный каталог:Смотрите
lftp(1)
страницу руководства на сайте проекта или на Debian.org для других команд и опций.источник
ну это маленькое руководство должно помочь, зеркалировать удаленный сервер в локальную папку с помощью 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
надеюсь, это поможет всем, кому нужно зеркалировать удаленную папку в локальную папку
источник
lftp 'sftp://user:pa$$word@server.org:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
Не используйте программу sftp напрямую, если вы можете найти что-то лучшее. Для Linux многие файловые менеджеры (по крайней мере, Nautilus и Dolphin, GNOME и KDE) изначально поддерживают sftp, и всегда есть sshfs. Для Windows есть WinSCP и, возможно, другие . Смысл всего этого в том, чтобы позволить вам получать доступ к файлам через sftp, как если бы они находились на обычном файловом элементе, поэтому вам не нужно заботиться о том, чтобы вы обращались к ним через sftp.
источник
sftp/ssh
интерфейсом командной строки я был (около 100 МБ / с передачи файлов). Так что проблема была в Nautilus на GNU / Linux Mint.Попробуй
mget
вместоget
.Уточнение:
mget
будет работать, если вы находитесь в каталоге, который хотите скопировать; если вы делаете что-то вроде этого:он получит все файлы в этом каталоге. Однако он не будет рекурсивно получать содержимое каких-либо подкаталогов.
источник
получает
[directory]
и все под ним, гдеr
расшифровывается как рекурсивный. Я нашел это, просто набравhelp
сsftp
.источник
Как с
cp
:Вышесказанное сохранит время и режимы исходных файлов и подкаталогов. Это особенно полезно для поиска резервных копий.
источник
У меня есть папка Java dist на удаленном сервере, где у меня есть следующее дерево:
Цель: я хочу использовать 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. наконец у меня есть цель
источник